OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2307|回复: 6

这句C语言咋理解?

[复制链接]

49

主题

160

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2017-11-2
在线时间
41 小时
发表于 2018-5-4 08:34:10 | 显示全部楼层 |阅读模式
10金钱

*data ++  =  *temp_addr ++;

上面语句是  (temp_addr) ++      ,  还是  (*temp_addr) ++     

我搞不明白?

最佳答案

查看完整内容[请看2#楼]

应当是*(temp_addr++)吧,++运算符的优先级挺高 即是地址那个++,而不是指针指向的内容++ 这段代码的大概意思是,完成赋值操作之后,两个地址都自增1,等效于: [mw_shl_code=c,true]*data = *temp_addr ; data++; temp_addr++; [/mw_shl_code]
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-5-4 08:34:11 | 显示全部楼层
本帖最后由 DreamWaterPro 于 2018-5-4 08:50 编辑

应当是*(temp_addr++)吧,++运算符的优先级挺高

即是地址那个++,而不是指针指向的内容++
这段代码的大概意思是,完成赋值操作之后,两个地址都自增1,等效于:

[mw_shl_code=c,true]*data =  *temp_addr ;
data++;
temp_addr++;
[/mw_shl_code]
十六进制带我飞。
回复

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
发表于 2018-5-4 08:39:09 | 显示全部楼层
{
    *data =  *temp_addr;
    *data ++ ;
    *temp_addr ++;
}
回复

使用道具 举报

7

主题

199

帖子

0

精华

高级会员

Rank: 4

积分
711
金钱
711
注册时间
2017-5-20
在线时间
96 小时
发表于 2018-5-4 08:52:57 | 显示全部楼层
这个看运算符优先级,后置额++,--属于一级优先级;取值运算符* 是二级优先级。这个考级会用到。
所以是 *( temp_addr++),按变量宽度地址增加。
回复

使用道具 举报

49

主题

160

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2017-11-2
在线时间
41 小时
 楼主| 发表于 2018-5-4 08:58:55 | 显示全部楼层
受益非浅啊,
回复

使用道具 举报

52

主题

334

帖子

0

精华

高级会员

Rank: 4

积分
560
金钱
560
注册时间
2016-4-12
在线时间
230 小时
发表于 2018-5-4 09:22:33 | 显示全部楼层
wangmingwei093 发表于 2018-5-4 08:39
{
    *data =  *temp_addr;
    *data ++ ;

虽然已经有正确答案了,但是自己还是回头看到自己写错了,复制黏贴了过去,忘记把前面的*删掉了。。。。。还是回来给自己个回复吧
回复

使用道具 举报

49

主题

160

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2017-11-2
在线时间
41 小时
 楼主| 发表于 2018-5-4 09:46:43 | 显示全部楼层
{
    *data =  *temp_addr;
    data ++ ;
    temp_addr ++;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-6 22:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表