ポインターの基本原則を理解しようとしています。ポインター変数に値を割り当てると、実際の変数の値が変わると誰かが私に言いました。本当?私はコードを書き、これを得ました:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x=5;
int *address_of_x = &x;
int y = *address_of_x;
*address_of_x = 9;
printf("The value of x is: %d\n", x);
printf("The X is at: %p\n", &address_of_x);
printf("value of y = %d\n", y);
return 0;
}
次のような出力が得られました。
The value of x is: 9
The X is at: 0028FF04
value of y = 5
「y」の値が5のままなのはなぜですか? それはコマンドの順序のためですか?