第1个回答 2007-11-07
int *a并不是取a的地址,而是定义a是一个整型指针变量
b=&a是将a的地址赋予b
printf("a的地址是%d\n",a) ; //输出a中保存的地址,由于没有对a赋值,所以a的值也是未知的
printf("a的地址是%d\n",&a) ;//输出a的地址,与a中保存的地址不是一回事
printf("b的地址是%d\n",b) ;//输出b中保存的地址。
printf("b的地址是%d\n",&b) ; //输出b的地址本回答被提问者采纳
第2个回答 2007-11-07
int *a 表示定义一个指针变量a,a存放一个其他变量的地址值,同时
内存给a本身分配一个地址,也就是说a存放一个别人的地址,同时自己也有一个地址
printf("a的地址是%d\n",a) ; //打印a存放的别人的地址
printf("a的地址是%d\n",&a) ; //打印a自己的地址
printf("b的地址是%d\n",b) ; //打印b存放的别人的地址
printf("b的地址是%d\n",&b) ; //打印b自己的地址
第3个回答 2007-11-07
int *a,*b; // 声明指针变量a 和 b
printf("a的地址是%d\n",a) ; // 输出指针a指向的变量的值,由于a没有初始化,所以c会报错!
printf("a的地址是%d\n",&a) ; // 输出指针a的地址
printf("b的地址是%d\n",b) ; // 同上
printf("b的地址是%d\n",&b) ; // 同上
system("PAUSE");
return 0;
正确写法:
int *a;
int b;
a=&b; // 指针a指向整型变量b