问题描述
- 我想问一下c语言里面数组每个字符的地址是怎么分类的
-
我想问一下 上面那个ch1ch2 ch3 为什么是从30 38 40开始的???ch2明明这么多字符可是他只占用了38 39??这部分东西学校还没讲,,,我想了解一下 上网查了一下感觉还是不太懂 希望有人能详细解释一下 另外想问一下 这三个数组占用的空间是连续的吗
解决方案
这个要看你的代码,你要注意0x40-0x38=8而不是2,是16进制。编译器有时候会按照4字节对齐变量,也就是你分配1~3个字节都是4字节,4~7字节都是8字节,等等。
解决方案二:
内存分配里的确有字节对齐的考虑,建议你点开查找内存存储空间去好好看一看~
解决方案三:
涉及到字节对齐,因为有16位机,32位,64位,这样做能提高读写速度
时间: 2024-10-07 19:03:21