本帖最后由 lixiangzhou 于 2014-3-24 15:03 编辑
今天复习的时后看到的,比较下两段程序的输出,这个问题之前有人问过,当时有人回答说不同类型的数据存储的地方不一样,真得是不同类型的数据存储的地方不一样吗???试过下面代码就不明白了,求大神的解释啊
这是之前提过的程序问题,如下
- #include <stdio.h>
- int main()
- {
- char c = 'A';
- int a = 10;
-
-
- printf("a=%p\n", &a);
- printf("c=%p\n", &c);
-
- return 0;
- }
复制代码 输出:
a=0x7fff5e706c64 c=0x7fff5e706c6b 这里相差7字节
但是~~~~~~~
- #include <stdio.h>
- int main()
- {
- int a = 10;
- char c = 'A';
-
- printf("a=%p\n", &a);
- printf("c=%p\n", &c);
-
- return 0;
- }
复制代码 输出:
a=0x7fff5de52c68 c=0x7fff5de52c67 这里相差1 字节
这不奇怪吗?????????????
路过的大神详细解释下~~~
|
|