据我所知,在 C 编程语言中,数组是逐个元素存储在内存中的。(即元素 0、元素 1、元素 2、...、元素 n)。我正在尝试使用以下代码查看:
unsigned char a[] = { '\1' , '\2', '\3' ,'\4' };
printf("%d\n", (int*) a);
由于 unsigned char 是 1 个字节,而整数是 4 个字节;我认为它必须打印值:
00000001 00000010 00000011 00000100 = 2^2 + 2^8 + 2^9 + 2^17 + 2^24 = 16909060
但是,当我运行这个程序时,它会为每次试验产生不同的结果。
我在这里想念什么?