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

Python016

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

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

char sz_byte[256]

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

typedef char BYTE

BYTE buff[16] = {0}

c语言中没有byte这种类型,这是计算机中存储信息的单位。

char 是字符型

byte 是字节型(0 - 255)

在参与算术运算是char类型会自动转为整型如字符A会转为对应ASCII码65.

char是用来表示一个字符,而不是一个字,因为一个字要占用两个字节。而存储一个ANSI字符只需一个字节。注意,强调是ANSI字符,而不是Unicode字符。因为Unicode要占用两个字节。

byte类型是最自由的一种。它就占用一个字节,但没有定义这个字节拿来干什么。char定义为一个Unsigned Byte类型。也就是无符号的一个字节。它将一个字节的8位全占用了。可以表示的数据范围是0到255之间。

如果你确定处理的字符串是标准的ANSI字符串,那不必转换也可以直接一个字节一个字节地处理。如果要处理的字符串不定或是统一的Unicode字符串则要进行转换后进行处理。

如果byte里面保存的是数值,那么你可以调整顺序(低位在前,高位在后)之后,通过memcpy直接转换:

memcpy(&intVar, byteArray, sizeof(int))

如果byte保存的是数字的字符,那么你需要进行转换,具体如何转换,要看byte里面保存的是什么格式了。