单片机C语言里怎么定义BYTE型的数组?

Python018

单片机C语言里怎么定义BYTE型的数组?,第1张

1、C语言中的字符类型即char类型,一般情况占1个字节,因此一般使用char类型来描述字节数组。比如

char sz_byte[256]

2、有时候为了阅读文件,会将char类型说明为BYTE类型。需要借助于typedef关键字。比如

typedef char BYTE

BYTE buff[16] = {0}

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

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

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

很简单,定义一个指定长度(必须有)的数组,不初始化就可以了,最好指定一下存储段,在访问时可以优化一些。例:int data address[20] /* 整型数组,名称 address,长度 20,存储在 data 段 */char idata name[10]/* 字符数组,名称 name,长度 10,存储在 idata 段 */long xdata table[100]/* 长整型数组,名称 table, 长度 100,存储在 xdata 段 */