我很困惑爲什麼這段代碼有效。我被告知指針是一個包含某物的地址的「膠囊」。所以swapnum
函數應該期待這些「膠囊」之一,而不是int的實際地址。它是否創建了一個臨時指針並將其設置爲該地址?如果是這樣的話,那麼如果我通過引用如int * c = &a;
swapnum (&c...
傳遞指針,會發生什麼?爲什麼一個int的地址能夠被當作指向int的指針?
#include <stdio.h>
void swapnum(int *i, int *j) {
int temp = *i;
*i = *j;
*j = temp;
}
int main(void) {
int a = 10;
int b = 20;
swapnum(&a, &b);
printf("A is %d and B is %d\n", a, b);
return 0;
}
一個'int *'指向'int'。 '&c'將是'int **'類型或者指向'int'的指針。 – oldrinb
謝謝大家!你所有的答案都有幫助,現在我完全明白了。 – CornSmith