单片机c语言程序中,数组最多能有几个元素?为什么我定定义了一个全局的数组,unsigned cha

单片机c语言程序中,数组最多能有几个元素?为什么我定定义了一个全局的数组,unsigned char型的数组,最多只能有93个元素,如果我需要一个512个元素的数组,那该怎么办?我用的单片机是stc15f2k60s2

第1个回答  推荐于2016-11-26
原则上,C语言中数组所包含的元素个数理论上多少都行,如果要开一个很大的数组,比如int arrayint[10000][10000];在main()中声明该数组就会使应用程序退出,但是如果你把该数组的声明放在所有函数体之外,让它变成一个全局变量,就没有任何限制了,你想开多大的数组都可以。

但在单片机c语言程序中,实际上还是有限制的,原因在于单片机的存储空间是有限的,数组最多能有几个元素取决于单片机型号。
你定义了一个全局的数组,unsigned char型的数组,最多只能有93个元素,说明你还有其他变量占用存储空间。如果需要一个512个元素的数组,用的单片机是stc15f2k60s2,可在定义数组时进行XDATA声明,将数组存储于外部RAM当中。本回答被提问者采纳