标题:烦劳各位朋友帮帮忙!
只看楼主
倩玮瑞
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



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




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

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