| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 582 人关注过本帖
标题:烦劳各位朋友帮帮忙!
只看楼主 加入收藏
倩玮瑞
Rank: 2
等 级:论坛游民
帖 子:40
专家分:12
注 册:2009-3-7
结帖率:91.67%
收藏
已结贴  问题点数:10 回复次数:3 
烦劳各位朋友帮帮忙!
Status ClearString(HString &S){
  //将S清为空串
   if(S.ch){free(S.ch); S.ch=Null;}
   S.Length=0;
   return OK;
}
我就是想问一下,S.ch所指空间已经被释放了,那Null到底赋值到哪了?就是Null在存储单元里的什么位置?
就没具体空间存放它了啊!
还有麻烦给我解释一下free函数具体什么作用呢?释放空间后,就什么也没了吗,首地址也没了?
搜索更多相关主题的帖子: 朋友 烦劳 
2009-11-19 21:31
missiyou
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:531
专家分:218
注 册:2007-10-9
收藏
得分:10 

算了,简单点吧,S的空间不在函数内,在外面。
free所释放的是S.ch所指向的空间。 ch是指针类型,在编译器中,类型有它自己的空间。所以并没有被释放
。 在看所传递过的是引用。因为这个不在函数内。凡函数内定义的,只在函数内有用,。因为原理是栈。
2009-11-22 10:02
倩玮瑞
Rank: 2
等 级:论坛游民
帖 子:40
专家分:12
注 册:2009-3-7
收藏
得分:0 
先谢谢您帮我解答问题。不过我还想问清楚一下,您的意思是NULL存放到了指针变量的空间里,是吧?这样指针值成了空,就没有具体指向空间了。还有就是这句话“在看所传递过的是引用。因为这个不是函数内。凡函数内定义的,只在函数内用,因为原理是栈。”是什么意思呢?麻烦您在帮我解释一下。谢谢啦!
2009-11-30 22:22
倩玮瑞
Rank: 2
等 级:论坛游民
帖 子:40
专家分:12
注 册:2009-3-7
收藏
得分:0 
麻烦版主有空尽快帮我解答一下难题。谢啦!
2009-12-01 21:43
快速回复:烦劳各位朋友帮帮忙!
数据加载中...
 
   



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

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