我想初始化一个 16 字节的十六进制值数组,尤其是 0x20(空格字符)值。
正确的做法是什么?
unsigned char a[16] = {0x20};
或
unsigned char a[16] = {"0x20"};
谢谢
最佳答案
例如定义这个
unsigned char a[16] = {0x20, 0x41, 0x42, };
将如图所示初始化前三个元素,并将其余元素初始化为 0
。
第二种方式
unsigned char a[16] = {"0x20"};
不会做你想做的事:它只是定义了一个包含四个字符 0x20
的以 nul 结尾的字符串,编译器不会将其视为十六进制值。
关于C 以十六进制值初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33454988/