1
6
9
新手上路
使用道具 举报
0
48
354
2162
3229
版主
85
781
1036
至尊会员
218
1101
1765
More we do, more we can do.
struct line { int length; char contents[0]; }; struct flex { int length; char data[]; };
wm20031015 发表于 2023-8-28 10:28 填0的意思是这个数组没有数组成员?
caicaptain2 发表于 2023-8-28 10:32 何苦这么做,没啥意义啊? 直接定义u8 def 一样的啊。
庄永 发表于 2023-8-28 11:09 变长数组在单片机平台跑是在给自己挖坑,如果后面需要移植或者做其他事哭都来不及,换个实现方式吧
庄永 发表于 2023-8-28 11:17 确实要用就将C标准设置为C99及其以上,并打开VLA
emwin 发表于 2023-8-28 12:53 1. IAR是支持0长度数组的,只是你写的不对 2. 0长度是GNU扩展,标准定义的可变长度写法不同
23
71
140
初级会员
小钟嵌入式 发表于 2023-8-28 14:15 调换一下顺序确实可以编译通过了,但是我们的代码就是要为0的在前。我用VScode和QT等编译器都支持这种写 ...
2360985396 发表于 2023-8-28 14:50 C11和C99的柔性数组不都是在最后吗? 因为这样可以避免内存冲突
4
40
52
小钟嵌入式 发表于 2023-8-28 15:09 我用VSCode是支持的写在前面
小钟嵌入式 发表于 2023-8-28 13:58 没办法大佬。代码就是有这样的用法。可变长数组。
小钟嵌入式 发表于 2023-8-28 14:01 我用的是9.20.2版本只用standrd C了
本版积分规则 发表回复 回帖后跳转到最后一页
|小黑屋|Archiver|手机版|硬汉嵌入式论坛
GMT+8, 2025-4-29 03:31 , Processed in 0.327562 second(s), 26 queries .
Powered by Discuz! X3.4 Licensed
Copyright © 2001-2023, Tencent Cloud.