| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1737 人关注过本帖
标题:出一小题,考下内存堆栈
取消只看楼主 加入收藏
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
结帖率:100%
收藏
 问题点数:0 回复次数:4 
出一小题,考下内存堆栈
程序代码:
#include<stdio.h>
#include<malloc.h>
#include<string.h>
int main()
{
    char d[]="456789";
    char s[]="123";
    strcpy(s,d);
    printf("%s\n%s\n",d,s);
    return 0;
}


不用编译器,写出这段代码的输出。
搜索更多相关主题的帖子: 堆栈 内存 
2010-12-18 15:13
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
就从你在之前那个帖子里面贴的内容,我读定你用了编译器。

你解释下为什么是这个答案。
2010-12-18 15:23
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
你debug了多久才得出的答案。

现在你不说d分配了8个空间了吧?
2010-12-18 15:47
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用我菜119在2010-12-18 15:59:49的发言:

难道我给出的答案不是吗??debug了多久??哈哈哈!真的可笑呀,你说对久就多久吧!!!

和一个无聊之人聊了点无聊的话题!!嘎嘎!



第一,我不无聊

第二,以你现在的水平跟我比还差一大截. 但是从你debug的能力我相信,你有很大的发展空间。至少你不会再告诉d是分配了8个空间。

第三, 我如果再问你什么时候内存对齐用到分配8个空间的问题,你又未必能答出来了。或者要再debug很久才能给出答案。
2010-12-18 16:04
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用无尽苍穹在2010-12-18 16:01:39的发言:


原理正如4楼所说,但结果还是与CPU有关
64位下的结果



先看看你的cpu是big ending 还little ending.
2010-12-18 16:08
快速回复:出一小题,考下内存堆栈
数据加载中...
 
   



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

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