社区
C语言
帖子详情
指针问题
dsoyy
2008-09-23 11:27:08
看到一个小东西: ++ *p ++
它的执行顺序是什么样的啊:
先 *p,再前缀 ++,最后后缀 ++
还是
先 *p,再后缀 ++,最后前缀 ++
我觉得是第一种,但是有点想不通,请大家帮帮分析一下。
...全文
211
15
打赏
收藏
指针问题
看到一个小东西: ++ *p ++ 它的执行顺序是什么样的啊: 先 *p,再前缀 ++,最后后缀 ++ 还是 先 *p,再后缀 ++,最后前缀 ++ 我觉得是第一种,但是有点想不通,请大家帮帮分析一下。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dsoyy
2008-09-23
打赏
举报
回复
抱歉1楼,评分时候本来 P = 一楼,执行了++P,。。。。。。。。。
zgjxwl
2008-09-23
打赏
举报
回复
单目运算符的结合性是从右到左的
即相当于++(*(p++))
p是个指针,指针p++,由于是后缀加,返回的指针仍然是原来的指针p
*(p++)就是取指针p一开始定义时存入的值,其实也就是指针当前所指的前一个位置的值,然后对这个值进行前缀加
就相当于++(*p)
dsoyy
2008-09-23
打赏
举报
回复
懂了,可以结贴了,这个论坛非常有效率!赞!
lizhaochai
2008-09-23
打赏
举报
回复
++(*(p++))其中p++的返回值是p原来的指针,然后指针再下移。
那(*(p++))的值取的是p下移前所指的数值,那第一个++就加这个数据值了
zgjxwl
2008-09-23
打赏
举报
回复
能提高程序员的工作效率,哈哈.
zgjxwl
2008-09-23
打赏
举报
回复
不出问题就好,因为这是给编译器看的,加不加括号无所谓的
但是,当出问题需要维护时,就要给程序员看了,这时还是加上的好,可读性好点,能提高效率
所以,还是加上的好,因为你无法保证它一定不会不出bug
dsoyy
2008-09-23
打赏
举报
回复
请教一楼,最外面的++如何解释啊?
这是我看<C和指针>上的例子,讲解不多:似乎是数值自加发生指针移位之前。
skyering
2008-09-23
打赏
举报
回复
[Quote=引用 3 楼 lbh2001 的回复:]
去看优先级表
但最好不要这样写,看着就迷糊
多写几个括号又不影响运行效率,可读性又高,何乐而不为
[/Quote]
及其同意三楼的说法,其实运算符优先级是没有用的,你现在背上了以后还是忘,记得加括号就行了。
h13826013646
2008-09-23
打赏
举报
回复
++是属于单目运算符来的,他的运算规则是自右向左,所以应该是++(*(p++)),题目:*P,再 ++(*p),再p++,Y/N? 答案是N
aozhi
2008-09-23
打赏
举报
回复
上机调一下呗.
dsoyy
2008-09-23
打赏
举报
回复
补充一下我的理解:由优先级可知,后缀++优先级最高,所所以先获取*P的数值,之后就迷糊了。
++ *p ++ 等价于++ (*p ++)还是(++ *p) ++ 或是其他呢?
题目本意应该是:*P,再 ++(*p),再p++,Y/N?
lbh2001
2008-09-23
打赏
举报
回复
去看优先级表
但最好不要这样写,看着就迷糊
多写几个括号又不影响运行效率,可读性又高,何乐而不为
lsldd
2008-09-23
打赏
举报
回复
Up LS
mifeixq
2008-09-23
打赏
举报
回复
++(*(p++))
右结合的!
lsldd
2008-09-23
打赏
举报
回复
[Quote=引用 14 楼 dsoyy 的回复:]
抱歉1楼,评分时候本来 P = 一楼,执行了++P,。。。。。。。。。
[/Quote]
..................
C语言
指针
的一坨
问题
本文聚焦C语言
指针
,详细阐述了内存泄漏、空
指针
解引用、悬空
指针
等15种可能出现的
问题
,给出对应示例代码和修复方法。还提出使用标准库状态码、添加注释、考虑平台差异等改进建议,以确保代码健壮、易维护和调试。
结构体
指针
与非
指针
问题
及解决
博客围绕结构体
指针
与非
指针
展开,通过两段代码实例阐述调用结构体时使用
指针
和非
指针
的情况及
问题
原因。还介绍了访问方式差异,不使用
指针
改用结构体数组的优缺点,最后对
指针
和非
指针
进行了对比总结。
面试
问题
指针
篇
博主分享自己踩过的C语言面试坑,涵盖定义与声明、声明、空
指针
、绕来绕去的
指针
等
问题
。如结构包含指向自身
指针
的定义
问题
、
指针
声明与分配空间
问题
、空
指针
概念,还给出不同
指针
类型的定义示例。
有关空
指针
,野
指针
以及相关内存
问题
本文详细介绍了C语言中的空
指针
、野
指针
概念,以及
指针
相关的内存
问题
。空
指针
赋值为NULL,不可直接调用;野
指针
未初始化,可能导致非法内存访问。文章通过多个示例探讨了内存分配与释放不当时可能引发的段错误和内存泄漏
问题
,强调了正确管理内存的重要性。
双
指针
问题
本文介绍了双
指针
问题
的基础知识,包括同向双
指针
(快慢
指针
、尺取法)、反向双
指针
、首尾
指针
和分离双
指针
。还通过多个例题,如有序矩阵中第K小的元素、子数组和排序后的区间和等,详细阐述了双
指针
在解题中的应用及注意事项。
C语言
70,037
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章