数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1173|回复: 8

[Arduino] 数组的这两种赋值写法效率一样吗

[复制链接]
发表于 2020-2-29 11:58:30 | 显示全部楼层 |阅读模式

难道上面的速度能快些?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
发表于 2020-2-29 12:08:10 | 显示全部楼层
第一个应该是*buf++=0;吧,我对比过,keil5优化9级下编译结果一样

打赏

参与人数 1家元 +5 收起 理由
人艰不拆了 + 5

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-29 12:15:39 | 显示全部楼层
cbcb4cb 发表于 2020-2-29 12:08
第一个应该是*buf++=0;吧,我对比过,keil5优化9级下编译结果一样

我这是arduino,不是51
回复 支持 反对

使用道具 举报

发表于 2020-2-29 12:27:33 | 显示全部楼层
人艰不拆了 发表于 2020-2-29 12:15
我这是arduino,不是51

arduino 不懂,
但是第一种复制方式不符合C99的标准,而且不能达到数组赋值的结果,

打赏

参与人数 1家元 +5 收起 理由
人艰不拆了 + 5

查看全部打赏

回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2020-2-29 12:40:34 | 显示全部楼层
第一个也没看明白。

打赏

参与人数 1家元 +5 收起 理由
人艰不拆了 + 5

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-29 12:46:24 | 显示全部楼层
cbcb4cb 发表于 2020-2-29 12:08
第一个应该是*buf++=0;吧,我对比过,keil5优化9级下编译结果一样

刚才试了试,这个写法的确是错的,不知道网上怎么这么写:mad:
回复 支持 反对

使用道具 举报

发表于 2020-2-29 13:13:22 来自手机浏览器 | 显示全部楼层
看不懂arduino的无法跟C语言有不少差异…

打赏

参与人数 1家元 +5 收起 理由
人艰不拆了 + 5

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2020-2-29 13:23:11 | 显示全部楼层
第一种的语法格式最好是 *(Buffer + i) = 0;  如果直接修改数组指针,很容易产生野指针。

打赏

参与人数 1家元 +5 收起 理由
人艰不拆了 + 5

查看全部打赏

回复 支持 反对

使用道具 举报

发表于 2020-2-29 16:43:01 | 显示全部楼层
一样的
这种不是很特殊的代码优化,老早就普及了。
回复 支持 反对

使用道具 举报

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-24 20:12 , Processed in 0.327600 second(s), 18 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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