单片机C语言数组最多能定义多少个元素?

 我来答
投机士
推荐于2016-07-19 · TA获得超过10.5万个赞
知道大有可为答主
回答量:2.5万
采纳率:0%
帮助的人:3995万
展开全部
  1. 原则上,C语言中数组所包含的元素个数理论上多少都行,如果要开一个很大的数组,比如int arrayint[10000][10000];在main()中声明该数组就会使应用程序退出,但是如果你把该数组的声明放在所有函数体之外,让它变成一个全局变量,就没有任何限制了,你想开多大的数组都可以。

  2. 但在单片机c语言程序中,实际上还是有限制的,原因在于单片机的存储空间是有限的,数组最多能有几个元素取决于单片机型号。

  3. 你定义了一个全局的数组,unsigned char型的数组,最多只能有93个元素,说明你还有其他变量占用存储空间。如果需要一个512个元素的数组,用的单片机是stc15f2k60s2,可在定义数组时进行XDATA声明,将数组存储于外部RAM当中。

t_cl
2010-01-16 · TA获得超过497个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:88.9万
展开全部
和单片机字长没有关系。
51是8位,可以定义65535长的数组。对单片机来说还是存储空间限制,编译器一般都能满足大数组的定义。
51可以定义65535个字节长的xdata数组,可定义65531的code数组,当然会有一个警告,因为定义了,却没有使用该数组,我主程序里只有while(1);,还要自己修改汇编startup.a51,不如数组定义不了这么长,那里占用ROM。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ATF144X
2010-01-11 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5344
采纳率:77%
帮助的人:4654万
展开全部
看你用的单片机有多少存储空间(RAM、ROM)和数据的类型(字符型还是整型还是长整型等等)。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友212f563ef
2010-01-11 · TA获得超过938个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:315万
展开全部
同单片机的字长有关系,
8位————256
16位————65536
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ed1f7b0
2010-01-11 · TA获得超过561个赞
知道小有建树答主
回答量:606
采纳率:0%
帮助的人:270万
展开全部
256
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式