注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

旷世的忧伤

不与夏虫语寒,不与曲人语道,因为生命缺乏言说的条件......

 
 
 

日志

 
 

C语言函数中如何返字符串  

2014-12-31 16:38:36|  分类: C语言 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在C语言程序设计中,如果要在函数中返回一个字符串,则应该返回一个有效的字符串指针。切忌返回一个局部变量的地址,因为局部变量在函数调用退出后会被释放,即地址无效。如果在函数中返回了局部变量的地址,程序可能会正确运行,但是程序也可能会莫名的出现一些及其怪异的错误,甚至无法跟踪。

在函数中正确返回字符串的方法有四种:
        1. 使用堆空间,即返回动态申请的内存,但是要注意释放,否则会出现内存泄露
        2. 函数参数传递指针,返回该指针,即调用者传入一个有效的内存地址,函数将值写入之后再将其返回
        3. 返回函数内定义的静态变量,即用static申明的变量,这样的变量生命期是程序运行的整个过程。
        4. 返回全局变量

在设计程序时应优先选择前两种方法。静态变量和全局变量都会长时间占用内存空间,如何这样的变量数量过多,对于一个长时间运行的程序来说会是一个很大的内存开销。
  评论这张
 
阅读(0)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017