为什么a和b的值是一样的?
Int * a=1;Int * b=1;
为什么a和b的值是一样的?
----------------解决方案--------------------------------------------------------
因为a b是指向同一个内存地址的指针吧..
----------------解决方案--------------------------------------------------------
我试了4个编译器,只有TC能通过,而且还有warning
----------------解决方案--------------------------------------------------------
哈哈哈`````
----------------解决方案--------------------------------------------------------
那样定义指针是错误的
----------------解决方案--------------------------------------------------------
main ()
{
int *a=1;
int *b=1;
printf("the value of a :%p\n",a);
printf("the value of b :%p\n",b);
}
在VC++6.0中编译,执行后的结果:
----------------解决方案--------------------------------------------------------
回复 3# 的帖子
??? ----------------解决方案--------------------------------------------------------
回复 2# 的帖子
这是肯定的,要不然a和b怎么会相等呢?我想问的是为什么那两个1在内存中的地址是一样的?
例如,为什么"cs"与"cs"的内存地址会是一样的。应该是两块区域才对呀。难道常量都这样?
----------------解决方案--------------------------------------------------------
a和b当然一样了 对变量也是
int i=0;
int *a=&i,*b=&i;
a和b还是一样的 不一样的是&a,&b
----------------解决方案--------------------------------------------------------
那楼主意思是a和b不能一样了?给个理由吧
----------------解决方案--------------------------------------------------------