51单片机中设置未知长度数组怎么设置?

如图设置,不过编译后出现警告,怎么处理??

第1个回答  2015-07-30
未知长度数组一般有两种选择
1,开辟一个足够大的数组:例如 int buf[1024];
也就是说这个数组能满足你所需要的所有情况,这种方法的优点是,查询速度块,方便
但是当数据每次都很少的时候会浪费空间,对空间利用要求比较高的不适用
2,使用链表。动态开辟内存,需要的时候就开辟一个空间存到链表中去
这种方法的优点是,可以有效利用空间。缺点是读写不方便,没有数组快!
第2个回答  2014-02-28
Keil for C51不支持C99标准,所以不支持不定长数组,要实现不确定长度的数组请使用内存分配函数malloc本回答被网友采纳
第3个回答  2014-02-28
这警告不会影响使用~~~~,,,你也可以把数组长度设大点,设个100或者更大,一般100就应该用不完了
第4个回答  2015-06-27
首先,设置未知长度的数组和单片机无关的
要设置未知长度的数组 可以模仿C++中的malloc这个函数 动态分配内存空间 这个需要一些代码的实现 可以网上搜索这方面的资料 学习一下
第5个回答  2014-02-28
单片机寄存器是有字长限制的,最好说明变量长度追问

不过就是不知道长度,但是不会超过内部扩展存储器容量。这样的警告影响使用吗?

追答

我平时也遇到过,但是貌似没什么影响,如果在一些比较正规严谨的工程中,可能会遇到一些程序存储安排问题

本回答被提问者采纳