我想问一下c语言里面数组每个字符的地址是怎么分类的

图片说明
图片说明
我想问一下 上面那个ch1ch2 ch3 为什么是从30 38 40开始的???ch2明明这么多字符可是他只占用了38 39??这部分东西学校还没讲,,,我想了解一下 上网查了一下感觉还是不太懂 希望有人能详细解释一下 另外想问一下 这三个数组占用的空间是连续的吗

这个要看你的代码,你要注意0x40-0x38=8而不是2,是16进制。编译器有时候会按照4字节对齐变量,也就是你分配1~3个字节都是4字节,4~7字节都是8字节,等等。

内存分配里的确有字节对齐的考虑,建议你点开查找内存存储空间去好好看一看~

涉及到字节对齐,因为有16位机,32位,64位,这样做能提高读写速度