黑马程序员技术交流社区
标题:
请问输出的地址相差为什么是7而不是四个字节?
[打印本页]
作者:
Hi围城
时间:
2014-3-18 16:47
标题:
请问输出的地址相差为什么是7而不是四个字节?
本帖最后由 Hi围城 于 2014-3-18 17:27 编辑
#include <stdio.h>
int main()
{
char c = 'A';
int a = 10;
printf("a=%p\n", &a);
printf("c=%p\n", &c);
return 0;
}
作者:
Ygenius
时间:
2014-3-18 17:13
这个问题首先有点奇怪,比较的话也是同类型间来比较,比方说定义2个char型数据,比较这2个地址的话相差1
你的问题应该是定义的字符型数据后,整型数据的地址为什么没有紧跟着char型地址吧。不知道这个问题是否可以这么理解,内存对不同数据类型的数据划定了一定的存储空间,所以才会有像你所说的情况。更专业的你可以百度看看
作者:
Hi围城
时间:
2014-3-18 17:27
Ygenius 发表于 2014-3-18 17:13
这个问题首先有点奇怪,比较的话也是同类型间来比较,比方说定义2个char型数据,比较这2个地址的话相差1
...
嗯,数据类型不一样。会单独划分空间。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2