问题1:指针中++*p,*++p,*p++,(*p)++,*(p++) 到底是怎么用的,有谁能帮帮我,我一直弄不明白!

最好能举个例子,谢谢啊!... 最好能举个例子,谢谢啊! 展开
 我来答
原味三分甜咩
2011-04-03 · 超过28用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:41.7万
展开全部
对于指针,可以简单的这样理解,带有*号的,就是这个数值,不带有*号的,就是地址。
例如:int array[5]={1,2,3,4,5} *p;
*p=array[0]或者p=array;
++*p就是array[0]自加后的值,即1+1后的值;
*++p就是array加完后再取它的数组值,就是array[1]的值,即2;
*p++就是array[0]本身。即1;
(*p)++就是array[0]的自加,即1+1;
*(p++)带有*,说明它还是一个数值,而不是地址,(p++)就是array自加,也即是array[1]的地址,加上前面的*号,即是array[1]的数值。
980515024
2011-04-03 · TA获得超过606个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:325万
展开全部
关于指针自加的问题,C语言书上讲的都有的。
例如*p=a[10],则++*p的值表示a[0]的值自加,*p++的值是a[0],而*p自加后是*p的值,*++p的值表示的是a自加是a+1,再取a+1对应的数组值,(*p)++的值是a[0],而*P对应的是自加的值,*(p++)表示a【1】的值。
追问
*(p++)也应该表示a【0】的值吧,我搞不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
恋人游
2011-04-03 · 超过11用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:43.5万
展开全部
p是指针 *p是指针变量,它的值为P指向数据的值
eg int[a]={1,2,3}
int *p
p=a // p 指向数组a的首地址
*p=1;
++*p=2;
*(p++)=2 //显示p的地址加1(是加一个int的长度哟)即P指向啦下一个元素啦(a[1])
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式