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

本页主题: 关于C语言的几个问题 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

lvdou





性别: 帅哥 状态: 该用户目前不在线
等级: 希望之光
家族: YD一族
发贴: 1930
威望: 0
浮云: 1181
在线等级:
注册时间: 2006-04-01
最后登陆: 2008-06-21

5come5帮你背单词 [ considerate /kən'sidərit/ a. 体谅(人)的,考虑周到的,慎重的 ]


关于C语言的几个问题

1 函数的参数是指针时能不能通过这个指针申请到用这个指针指向的空间?
得到的内存空间是不是在函数调用完后就被释放?是申请到的空间被释放还是指针变量被释放所以得不到空间?
例如这个:
#include <stdio.h>
#include <malloc.h>
#define MAX 20

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

void Init(Stack *S);

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


void Init(Stack *S)
{
S=(Stack *)malloc(sizeof(Stack));
S->top=1;  
printf("      stack's size is:%d\n",S->top);
}

这个程序不能正常执行
我的猜测是函数执行完之后S被释放了,所以出错

2 malloc申请到的空间呢?被自动释放了么?还是造成了内存泄露?



请教达人解答
顶端 Posted: 2007-04-15 21:37 | [楼 主]
zc1984





性别: 帅哥 状态: 该用户目前不在线
头衔: 上帝模式
等级: 荣誉会员
家族: 战略研究所
发贴: 10096
威望: 5
浮云: 0
在线等级:
注册时间: 2004-08-24
最后登陆: 2017-06-08

5come5帮你背单词 [ extensive /iks'tensiv/ a. 广泛的,广阔的,广大的 ]


分配到栈上的你可以不用管~~
但是在堆上的~~~
如果你没有使用诸如智能指针之类的东西,那么就自己动手清理吧(一般不存在自动清理的情况)~~
否则你的内存会耗尽~~
顶端 Posted: 2007-04-15 21:46 | [1 楼]
kangtalc



性别: 帅哥 状态: 该用户目前不在线
头衔: 揍敌客·奇犽
等级: 希望之光
家族: 万人坑恋影部落
发贴: 1723
威望: 5
浮云: 1113
在线等级:
注册时间: 2005-09-21
最后登陆: 2008-06-29

5come5帮你背单词 [ scout /skaut/ n. 侦察员,童子军;v. 侦察,搜索 ]


zc有点答非所问哈~~
LZ参考下面的贴子,我就不多说了
http://192.168.2.8/bbs/read.php?tid=441553&fpage=2
顶端 Posted: 2007-04-15 21:49 | [2 楼]
lvdou





性别: 帅哥 状态: 该用户目前不在线
等级: 希望之光
家族: YD一族
发贴: 1930
威望: 0
浮云: 1181
在线等级:
注册时间: 2006-04-01
最后登陆: 2008-06-21

5come5帮你背单词 [ innumerable /i'nju:mərəbl/ a. 无数的,数不清的 ]


刚才端口出问题 …… 上不了内网 …… 明天 继续
现在 是 借用 的电脑
顶端 Posted: 2007-04-15 22:30 | [3 楼]
我来我网·5come5 Forum » 程序员之家

Total 0.014103(s) query 7, Time now is:03-12 03:49, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号