C++中使用指針進(jìn)行數(shù)據(jù)交換

c++
小樊
84
2024-09-10 16:36:13

在C++中,你可以使用指針來(lái)交換兩個(gè)變量的值。這種方法不需要使用臨時(shí)變量,因此在某些情況下可以提高性能。以下是一個(gè)使用指針交換兩個(gè)整數(shù)值的示例:

#include<iostream>

void swap(int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

int main() {
    int x = 5, y = 10;
    std::cout << "Before swapping: x = " << x << ", y = " << y << std::endl;
    
    swap(&x, &y);
    
    std::cout << "After swapping: x = " << x << ", y = " << y << std::endl;
    return 0;
}

在這個(gè)示例中,我們定義了一個(gè)名為swap的函數(shù),它接受兩個(gè)整數(shù)指針作為參數(shù)。然后,我們使用一個(gè)臨時(shí)變量temp來(lái)存儲(chǔ)*a的值,將*b的值賦給*a,最后將temp的值賦給*b。這樣就實(shí)現(xiàn)了兩個(gè)整數(shù)值的交換。

main函數(shù)中,我們創(chuàng)建了兩個(gè)整數(shù)變量xy,并分別賦值為5和10。然后,我們調(diào)用swap函數(shù)并傳入xy的地址(使用&運(yùn)算符)。在交換值之后,我們打印出交換后的xy的值。

0