展开全部
可以这样定义 但行2113尾必须加分5261号。
不过你这样4102定义的是变量 并不是常量1653
要定义常量可以写为
const int a = 0x12345678;
或者版直接用宏定权义
#define CONST_A 0x12345678
PS:宏定义时无需加分号
int a =0x12345678;//定义一个变量a 并赋值为0x12345678. 这时会给a分配一个sizeof(int)的空间,一般为4
char b; //定义字符变量b
b = (((unsigned char *)&(a))[0]);
//这个需要分几步来理解
//&(a)取a的地址
//((unsigned char *)&(a)) 把它转换成无符号字符型指针
//这个指针是指向a的首地址的 所以 这个无符号字符型指针指向的区域就有和a同样的值
//即四个字节,分别为0x12 0x34 0x56 0x78
//((unsigned char *)&(a))[0] 取第一个值 即0x12
//所以最终b的值为0x12