编程常见问题

1、warning: address of local variable ‘xx’ returned [-Wreturn-local-addr]

原因:在函数内部定义变量,并返回
char xx[64] = {0};

return xx;
这样函数内部定义的变量在函数结束时被释放掉,所以返回是找不到的。
改为char xx=(char)malloc(64*sizeof(char));就可以了。

注意:使用static char xx[64]也能让警告消除,但是当你多次调用这个函数,很有可能会出现各种问题……

2、还是上面的定义
char xx=(char)malloc(64*sizeof(char))

return xx;

在返回xx之前,最好把x的最后一位设为’\0’,否则你返回的字符串,最后面很有可能是一堆乱码

注意:当你加’\0’时,记得关注一下你开辟的空间够不够,如果你把前面的64个全用完了,再加上’\0’就会溢出了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值