标题:请教一个内存分配问题。
取消只看楼主
camelbupt
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-28
 问题点数:0 回复次数:2 
请教一个内存分配问题。
示例如下:
#bash-3.2# cat te.c
#include "stdio.h"
int main()
{
        int k=20,i=10;
        char m[]="camel";
        char *p="hello world!";
        printf("%p,%p,%p,%p,%p,%p\n",&k,&i,m,&p,p,p+1);
        return 0;
}
bash-3.2# ./program
0xbfb69c30,0xbfb69c2c,0xbfb69c26,0xbfb69c20,0x8048500,0x8048501

在运行输出中,0xbfb69c2c与0xbfb69c26相差6个字节,0xbfb69c26与0xbfb69c20相差也是6个字节,为什么会存在两个???第一项应该相差4字节才对阿???
不解。。。。
清高手赐教阿。
搜索更多相关主题的帖子: 内存 分配问题 
2008-01-01 20:19
camelbupt
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-28
得分:0 
呵呵,只是看不懂为什么心里闷的慌

0xbfb69c30是变量k的地址,那分配给变量k的4个字节是往地址数大的方向呢?还是往地址数小的方向分配???
2008-01-01 20:46
camelbupt
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-9-28
得分:0 
没人能解释一下吗???
2008-01-01 21:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-195378-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.227639 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved