独闷闷网

 找回密码
 立即注册
搜索
查看: 2138|回复: 0
收起左侧

[原创] keil环境下,没有指定数组变量的长度并且没有初始化时,此数组的长度是多大?已解答。

[复制链接]
发表于 2015-7-27 10:04:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
★肖亚平-成都:
数组初始化没有定义长度,存的值不正确,遇到过没有?

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

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

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

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

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

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

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

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

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

乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-3-29 06:54 , Processed in 0.158018 second(s), 18 queries .

快速回复 返回顶部 返回列表