C++参数传递指针时的一些错误

第一次写C++的项目代码遇到了一些问题记录一下:

1)char, int, long long相加时候可能产生溢出变成负数,写的时候注意每种类型的数值范围。

2)对于函数 void name(char* a) b="123123123132"当在函数里面使用strcpy(a,b)时候蜜汁应用程序处于中断模式,时有问题时没问题不懂怎么回事,大概猜测应该是内存访问时候的一些我不知道的问题(如果有大佬知道,麻烦指点一下),后来我重新新建一个变量char temp[Max],然后再用strcpy(temp,b)就没问题了。

3)void B(char* a){cout<<a<<endl;}     void A(char* a){  B(a);  }这个调用也是莫名其妙的错误,明明断电调试时候看到调用函数前和调用函数时指针a的地址都是一样的但是调用函数时候*a的值就不一样不知道为什么这个值还会自己变化的。我可啥都没干,断点跟踪跟着跟着值突然就变了,自闭了很久。后来把A函数里面改成这样就没问题了void A(char* a) { char temp[1005]; strcpy(temp,a);  B(temp); }    然后就没问题了。如果有哪位大佬看到,麻烦指点一下,谢谢!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值