c语言定义时 int i,j,*p=i;和int i,j,*p=&i;有什么区别?能详细解释下吗?

inti,j,*p=i;时*P是直接取i的地址吧,inti,j,*p=&i;时*p取的是什么?... int i,j,*p=i;时*P是直接取i的地址吧,int i,j,*p=&i;时*p取的是什么? 展开
 我来答
叶片舟
推荐于2018-04-06 · TA获得超过652个赞
知道小有建树答主
回答量:285
采纳率:100%
帮助的人:319万
展开全部
楼主,概念没弄清楚
*p 在定义时代表,定义的是指针类型, 在使用的时候代表的是解引用
&i ,代表的是取变量i 的地址,
int *p=&i;表示定义一个指针变量的同时,并把i的地址赋给p
int *p=i; 这个的意思是,把i里存储的内容当做地址赋给p
小政YY
2013-06-11 · TA获得超过281个赞
知道小有建树答主
回答量:504
采纳率:100%
帮助的人:355万
展开全部
int i,j,*p=i 是把i的值赋给指针p 原p的地址不变 int i,j,*p=&i是把i的值和地址都赋给p 地址发生变化
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
御含灵9r
2013-06-11 · TA获得超过4157个赞
知道大有可为答主
回答量:3007
采纳率:0%
帮助的人:2687万
展开全部
你搞错了第一种用法一般是错误的。 这时候*p不知道指到什么内容了,有可能导致程序崩溃。

第二种*p取的是i的内容。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式