我正在尝试将预处理器强制转换为数组,但我不确定它是否可行,
例如,我已定义:编号0x44332211
代码如下:
#include <stdio.h>
#include <stdint.h>
#define number 0x44332211
int main()
{
uint8_t array[4] = {(uint8_t)number, (uint8_t)number << 8,(uint8_t)(number <<16 ),(uint8_t)(number <<24)};
printf("array[%x] \n\r",array[0]); // 0x44
printf("array[%x] \n\r",array[1]); // 0x33
printf("array[%x] \n\r",array[2]); // 0x22
printf("array[%x] \n\r",array[3]); // 0x11
return 0;
}
我想把它投两个uint8_t数组[4],其中array [0] = 0x44,array [1] = 0x33,array [2] = 0x22,array [3] = 0x11
可能吗?
my output:
array[11]
array[0]
array[0]
array[0]