[技术问答] 请教大家一个C语言的数组问题

[复制链接]
1240|3
 楼主| stormwind123 发表于 2025-4-11 16:59 | 显示全部楼层 |阅读模式
在学习C的时候,看到有这样的代码,但是很奇怪,为什么数组能存函数名的?难道这个是指针函数数组吗?请大家指教,谢谢~

static const uint8_t u8x8_d_ssd1322_256x64_flip0_seq[] = {
  U8X8_START_TRANSFER(),                     /* enable chip, delay is part of the transfer start */
  U8X8_CAA(0x0a0, 0x006, 0x011),                /* remap */
  U8X8_END_TRANSFER(),                     /* disable chip */
  U8X8_END()                                     /* end of sequence */
};



问题二:
还有就是下面这句是什么意思?
#define U8X8_CAA(c0,a0,a1)                (U8X8_MSG_CAD_SEND_CMD), (c0), (U8X8_MSG_CAD_SEND_ARG), (a0), (U8X8_MSG_CAD_SEND_ARG), (a1)
LcwSwust 发表于 2025-4-11 17:23 | 显示全部楼层
带参数的宏定义了解一下,不是函数
水星限定 发表于 2025-8-28 13:24 | 显示全部楼层
C 语言数组是同类型元素的连续存储空间,需预先定义大小。访问用下标(从 0 开始),越界会引发未知错误。初始化可指定全部或部分元素,未指定部分自动为 0(全局 / 静态)或随机值(局部)。数组名是首元素地址,可通过指针操作。
一点点晚风 发表于 2025-9-16 16:32 | 显示全部楼层
C 语言数组常见问题:定义时需指定大小,不能动态改变;下标从 0 开始,越界访问会导致数据错误或崩溃;数组名是首地址,传参时会退化为指针,需额外传长度;初始化不完全时,剩余元素自动为 0(全局 / 静态)或随机值(局部)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

605

主题

3747

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部