C语言中的指针为什么会改变变量的值?
chara,*pa;a=10;pa=&a;*pa=20;printf("%d\n",a);为什么a会变成20?pa的地址改变会影响到a吗?...
char a,*pa;
a=10;
pa=&a;
*pa=20;
printf("%d\n",a); 为什么a会变成20? pa的地址改变会影响到a吗? 展开
a=10;
pa=&a;
*pa=20;
printf("%d\n",a); 为什么a会变成20? pa的地址改变会影响到a吗? 展开
4个回答
2013-10-21
展开全部
pa=&a;句是将指针*pa指向变量a。pa存放的是a的地址,*pa其实就是a,可以理解为把a换了一个名字表示。*pa=20就是对a进行赋值操作,等于a=20;a的值当然改变了。看看指针的知识吧!
2013-10-21
展开全部
一、指针的地址就是变量的地址啊 *pa = 20; 就是改变pa指向的变量的值 就是改变a的值 二、如果你把pa的地址改变了 就是说不指向a的地址了 此时你在 使用 *pa = 20; 就不会改变a的值了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-21
展开全部
pa=&a;把指针指向变量a的首地址,然后赋值pa=20;a的地址就改变了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询