c语言问题,帮c语言高手回答。

[复制链接]
查看11 | 回复3 | 2011-10-11 20:07:23 | 显示全部楼层 |阅读模式
所谓的指针,就是内存中的地址所有的a,b,c,都需要从内存(或者寄存器)中找一个地方存储,而标识这个内存地址的,就是指针。你可以把它想象成居住地址,a住在解放路1号,b在2号,c在3号。它们的地址就是指针main() { int?a=1,b=2,c=3; //定义了3个变量 ,分别住在内存路1号,2号和3号 p=&b;//p是个指针,这句话的作用是把b的地址用p记下来,所以p的值就是内存路2号 pp(a+c,&b);//把b的地址当作参数传给了函数pp,所以,pp的第二个参数,就是“内存路2号” printf("(1)%d%d%dn",a,b,*p);//这里注意最后一个 *p,意味着把内存路2号中住的那家伙拖出来 } ...
回复

使用道具 举报

千问 | 2011-10-11 20:07:23 | 显示全部楼层
你得到的答案之所以错误,那是应为你忽略了一个问题:int *p为一个全局变量, pp(a+c,&b); //调用函数在下面打印之前,当函数调用后 *p==6(通过函数中*p=*b+c;实现)printf("(1)%d%d%dn",a,b,*p);//此时b==*p==6,该句打印出来的为 1 6 6 小生也在刚学习C中,吾当共免之。...
回复

使用道具 举报

千问 | 2011-10-11 20:07:23 | 显示全部楼层
。。。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行