[51单片机] 数组名可以利用吗

[复制链接]
 楼主| 1762054myphone 发表于 2022-8-18 08:28 | 显示全部楼层 |阅读模式
int buffer[5]={1,2,3,4,5};
int a ;
a=buffer[0] ;   
===============================
int buffer[5]={1,2,3,4,5};
int a ;
a=*buffer
上面的代码,a= 1  没有疑问
下面的代码:1. 有没有语法问题, 2. a=?
请教大侠了 ~

评论

[url=home.php?mod=space&uid=3380670]@1762054myphone[/url] :*(buff+0)或buff[0]  发表于 2022-8-19 08:11
[url=home.php?mod=space&uid=306637]@zyj9490[/url] :嗯嗯 ,多谢指教 ~  发表于 2022-8-18 15:35
不规范,可读性差。  发表于 2022-8-18 15:05
sjnh 发表于 2022-8-18 09:46 | 显示全部楼层
没有语法问题,a = 1,  数组名可以当指针使用

评论

谢谢 ,我是看到别人一段代码里有这样的用法, 函数的形参是数组名,用个循环语句,后面用*数组名 全体数组赋值 , 觉得很妙。 您一句 数组名可以当指针使用 毛塞顿开 ,开始我还以为别人的代码这样写是错误的。  发表于 2022-8-18 15:34
 楼主| 1762054myphone 发表于 2022-8-18 10:42 | 显示全部楼层
太感谢了 ~
18971591125 发表于 2022-8-18 16:41 | 显示全部楼层
这里可以直接用,后面可以用*(buff+1),*(buff+2),,,,,和buff[1],buff[2]是一个意思
xiaofei558008 发表于 2022-8-18 20:49 | 显示全部楼层
没有语法错误;
a=1
*buffer = buffer[0]
 楼主| 1762054myphone 发表于 2022-8-19 10:04 | 显示全部楼层
18971591125 发表于 2022-8-18 16:41
这里可以直接用,后面可以用*(buff+1),*(buff+2),,,,,和buff[1],buff[2]是一个意思

嗯 谢谢~
 楼主| 1762054myphone 发表于 2022-8-19 10:05 | 显示全部楼层
18971591125 发表于 2022-8-18 16:41
这里可以直接用,后面可以用*(buff+1),*(buff+2),,,,,和buff[1],buff[2]是一个意思

好的, 谢谢 ~
zwsam 发表于 2022-8-30 09:43 | 显示全部楼层
jackyhuang1988 发表于 2022-8-30 12:05 | 显示全部楼层
你的写法完全没问题,数组名就是一个不能赋值的指针,不能   buffer = 1;   buffer++;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

18

帖子

0

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