c语言能修改已赋值的变量地址吗?有什么意义?

 我来答
zhangxinyu247
2017-11-13 · TA获得超过256个赞
知道小有建树答主
回答量:176
采纳率:72%
帮助的人:70万
展开全部
估计你概念搞混淆了,c语言中所有变量的地址都是不能修改的,变量定义后,当第一次使用系统会给它分配一块内存,直到它消亡是不会改变的。
指针变量,每次改变的其实也是指针变量里面存放的值。比如 int a,b,*p;
p=&a 相当于p里面存放了a的地址,假设a所在内存单元(地址)为100,a的值为3,即p的值是a的地址(p=100),*p 是取 100这个内存单元中存放的值,所以*p就是去100这个单元中存放的值(*p=a=3)。
然后 p=&b,这个时候p里面存放了b的地址,*p 是取 p内存单元中存放的值,所以*p就是b的值(*p=b)。但a,b,p所在的位置都没有变。
指针存在的意义在于,我可以通过一个指针去访问不同内存单元,这样相当于统一了入口。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式