独闷闷网

标题: keil环境下,没有指定数组变量的长度并且没有初始化时,此数组的长度是多大?已解答。 [打印本页]

作者: jianhong_wu    时间: 2015-7-27 10:04
标题: keil环境下,没有指定数组变量的长度并且没有初始化时,此数组的长度是多大?已解答。
★肖亚平-成都:
数组初始化没有定义长度,存的值不正确,遇到过没有?

★坚鸿-深圳:
除非是const或code数组,否则其它变量数组我都会给固定长度的。

不撸僧-云南:
你读取的时候超出你的定义数组的长度了吧?

★肖亚平-成都:
没有超出长度,只是没有给长度。我找了好久才找到,编译器不会报错,不好找。有两种原因,第一是我操作不规范。第二是编译器优化得太厉害了,都没有报错。

★坚鸿-深圳:
因为对单片机来说,const或code常量数组,它们的长度是编译器根据初始化的数据量而定的,如果是其它变量数组,没有给固定长度就很不规范了,就显得很奇怪,也没必要那样做。

★肖亚平-成都:
  1. int a[];a [0] = 'C';a [1] = 'H';
复制代码

字符串C是对的,H不对。串口只能输出C,H是错误的。

★坚鸿-深圳:
什么编译器?

★肖亚平-成都:
KEIL。STM32单片机。

★坚鸿-深圳:
结论:
当没有指定数组变量的长度,并且没有初始化时,keil默认此变量数组只有一个元素的长度。






欢迎光临 独闷闷网 (http://dumenmen.com/) Powered by Discuz! X3.2