なぜこのコードが機能するのか、私は非常に混乱しています。ポインターは何かのアドレスを保持する「カプセル」であると教えられました。したがって、swapnum
関数は、int の実際のアドレスではなく、これらの「カプセル」の 1 つを期待する必要があります。一時的なポインタを作成してそのアドレスに設定していますか? その場合、次のような参照によってポインターを渡すとどうなりますint * c = &a;
swapnum (&c...
か?
#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;
}