什么C数据类型应该用于包含2位HEXADECIMAL值的数组?

Shy*_*Shy 0 c arrays types compiler-errors

我正在尝试调试的程序中有以下数组:

static u8 info3[LEN] = {
  06,
  07,
  04,
  00,
  00,
  01,
  00,
  0e,
  03
};
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

test.c(45): error C2021: expected exponent value, not ','
Run Code Online (Sandbox Code Playgroud)

和#45行是包含的行0e,.根据这个MSDN资源,

预期的指数值,而不是'字符'

用作浮点常量指数的字符不是有效数字.一定要使用范围内的指数.

这告诉我编译器认为编译器认为info3包含浮点值.但是那里的值实际上是2位十六进制数.

所以问题是这里应该使用哪种数据类型来存储在这个数组中的值?

Jia*_*Cai 5

你应该添加0x这些数字.例如,0x01, 0x0e或者编译器不会将它们视为十六进制.

并且它之后期望指数值的原因e是因为你可以在C中使用科学记数法float var = 1.54334E-34.