變量名是指向內存地址,操作變量就是操作內存,變量賦值是給內存寫數據;
指針也是一樣;
內存有它的地址編號,有了這個地址就可以修改內存了;
對於內存是可讀寫的,通過變量也是往內存讀寫數據,而不是在變量讀寫數據;
那麼問題來了,在子程序定義的局部變量在別的地方是不是也可以讀寫呢?
數據可以起別名,
同樣,內存空間也可以起別名:
int main()
{
int a,b;
a = 10;
printf("&a:%d\n", &a);
b = (int)&a;
printf("*a:%d\n", a);
printf("直接到地址aa&%d aa*%d\n", (int*)b, *(int*)b);
int *p;
p = (int*)b;
*p = 1024;
printf("地址到指針修改1024後aaa*%d", a);
getchar();
return 0;
}