字符串数组名和字符串常量指针作函数返回值的区别

有如下代码

 在子函数get_mem中要获取字符串“hello world”并将其返回, 一般的程序员会用两种方式来实现,一种是用数组承载字符串,并将数组名返回;一种是用字符串常量指针承载字符串,并将指针返回。

两种方式中,第一种将不能实现将字符串返回的目的,因为get_mem()中定义的字符串数组是局部变量,函数运行完成后被回收,返回局部变量的地址,最后指向的是不确定的内容。而第二种的字符串常量则是存在于常量区,函数运行结束不被回收,所以可以返回。

字符串常量的生命周期是全局的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值