我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

本页主题: 看看哪里溢出了? 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ communicate /kə'mju:nikeit/ vt. 交际,交流(思想等),传达,传送,通讯,通信 ]


看看哪里溢出了?

#include <stdio.h>
#include <malloc.h>
#define MAX 20

typedef struct
{
  int top;
  int e[MAX];
}Stack;

void Init(Stack *S);

void main()
{
  int elem;
  Stack *s;
  Init(s);
  printf("now the stack's size is:%d\n",s->top);
}  


void Init(Stack *S)
{
  S=(Stack *)malloc(sizeof(Stack));
  if(S==NULL)
  {
    printf("failed!\n");
  }
  S->top=1;  
  printf("***size***:%d\n",S->top);
}



输出结果是***size***:1
          now the stack's size is:18756

请问是哪里溢出了呢?
为什么在子函数都可以正确输出,而到了main就变了呢

谢谢


[ 此贴被独飞の孤心在2006-09-09 13:34重新编辑 ]
顶端 Posted: 2006-09-09 13:13 | [楼 主]
独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ community /kə'mju:niti/ n. 社团,社区 ]


改了过后也一样。。。
顶端 Posted: 2006-09-09 13:35 | [1 楼]
独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ council /'kaunsil/ n. 理事会,委员会 ]


Quote:
引用第5楼minpayne于2006-09-09 13:36发表的:
我用GCC已经调通了

输出的结果呢?

是1,1吗?

我的第二个数还是18765呢
顶端 Posted: 2006-09-09 13:39 | [2 楼]
独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ salute /sə'lju:t/ vt. vi. 招呼,敬礼;n. 招呼,敬礼 ]


Quote:
引用第7楼minpayne于2006-09-09 13:44发表的:
是1,1

难道是我的编译器的问题?
顶端 Posted: 2006-09-09 13:45 | [3 楼]
独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ tunnel /'tΛnl/ n. 地道,隧道,管道;v. 挖地道(或隧洞) ]


热,以前看过这个问题

没想到今天自己遇到了。。。

看来还是要实践才行啊。。。
顶端 Posted: 2006-09-09 16:51 | [4 楼]
独飞の孤心



性别: 帅哥 状态: 该用户目前不在线
头衔: 孽缘!
等级: 荣誉会员
家族: 单身贵族
发贴: 4484
威望: 3
浮云: 496
在线等级:
注册时间: 2005-10-12
最后登陆: 2011-09-23

5come5帮你背单词 [ embrace /im'breis/ v. & n. 拥抱,包含 ]


Quote:
引用第14楼debuger于2006-09-09 17:33发表的:

第一种方法依然不是很好,从结构上说,malloc在自己的函数里面,free也该自己封装,作成对应的

第二种方法不好在于不能链式,对本例来说不方便判断出错,这种通过参数获得返回值的做法一般用于"值-结果"的方式。

.......

对第一个应该还是可以的吧。。。

我们只是把MALLOC对应的FREE函数防在了另外的地方而已
但是不影响它的功能的啊
顶端 Posted: 2006-09-09 19:44 | [5 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.012152(s) query 8, Time now is:05-29 03:33, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号