变量名是指向内存地址,操作变量就是操作内存,变量赋值是给内存写数据;
指针也是一样;
内存有它的地址编号,有了这个地址就可以修改内存了;
对于内存是可读写的,通过变量也是往内存读写数据,而不是在变量读写数据;
那么问题来了,在子程序定义的局部变量在别的地方是不是也可以读写呢?
数据可以起别名,
同样,内存空间也可以起别名:
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;
}