打印
[51单片机]

数组名可以利用吗

[复制链接]
1197|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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=?
请教大侠了 ~

使用特权

评论回复
评论
zyj9490 2022-8-19 08:11 回复TA
@1762054myphone :*(buff+0)或buff[0] 
1762054myphone 2022-8-18 15:35 回复TA
@zyj9490 :嗯嗯 ,多谢指教 ~ 
zyj9490 2022-8-18 15:05 回复TA
不规范,可读性差。 

相关帖子

沙发
sjnh| | 2022-8-18 09:46 | 只看该作者
没有语法问题,a = 1,  数组名可以当指针使用

使用特权

评论回复
评论
1762054myphone 2022-8-18 15:34 回复TA
谢谢 ,我是看到别人一段代码里有这样的用法, 函数的形参是数组名,用个循环语句,后面用*数组名 全体数组赋值 , 觉得很妙。 您一句 数组名可以当指针使用 毛塞顿开 ,开始我还以为别人的代码这样写是错误的。 
板凳
1762054myphone|  楼主 | 2022-8-18 10:42 | 只看该作者
太感谢了 ~

使用特权

评论回复
地板
18971591125| | 2022-8-18 16:41 | 只看该作者
这里可以直接用,后面可以用*(buff+1),*(buff+2),,,,,和buff[1],buff[2]是一个意思

使用特权

评论回复
5
xiaofei558008| | 2022-8-18 20:49 | 只看该作者
没有语法错误;
a=1
*buffer = buffer[0]

使用特权

评论回复
6
1762054myphone|  楼主 | 2022-8-19 10:04 | 只看该作者
18971591125 发表于 2022-8-18 16:41
这里可以直接用,后面可以用*(buff+1),*(buff+2),,,,,和buff[1],buff[2]是一个意思

嗯 谢谢~

使用特权

评论回复
7
1762054myphone|  楼主 | 2022-8-19 10:05 | 只看该作者
18971591125 发表于 2022-8-18 16:41
这里可以直接用,后面可以用*(buff+1),*(buff+2),,,,,和buff[1],buff[2]是一个意思

好的, 谢谢 ~

使用特权

评论回复
8
zwsam| | 2022-8-30 09:43 | 只看该作者

使用特权

评论回复
9
jackyhuang1988| | 2022-8-30 12:05 | 只看该作者
你的写法完全没问题,数组名就是一个不能赋值的指针,不能   buffer = 1;   buffer++;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

18

帖子

0

粉丝