C/C++,下面代码运行后会出现什么结果,为什么

寻天荒 2020-05-22 11:34:26
void fun1(char* p1)
{
p1 = (char*)malloc(100);
}

void fun2()
{
char* p2 = nullptr;
fun1(p2);
strcpy(p2, "大风起兮云飞扬");
printf(p2);
}

int main()
{
fun2();
return 0;
}
...全文
1296 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-06
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
墨随心言. 2020-05-27
  • 打赏
  • 举报
回复
学到了学到了
心已格式化 2020-05-26
  • 打赏
  • 举报
回复
123
may2301 2020-05-26
  • 打赏
  • 举报
回复
努力学习C++!!
Min1997Aaaa 2020-05-25
  • 打赏
  • 举报
回复
学习了,大佬就是大佬
Ecring 2020-05-25
  • 打赏
  • 举报
回复
学习了学习了
csucxy 2020-05-25
  • 打赏
  • 举报
回复
实参与形参的关系是单向值传递
yujidang8706 2020-05-25
  • 打赏
  • 举报
回复
好好学习吧!!!!!!!!
xiaozhuangsheng 2020-05-25
  • 打赏
  • 举报
回复
编译出错了,再看看
donwmufromdying 2020-05-25
  • 打赏
  • 举报
回复
一般在此类一定是func(char **p) 或者func(char *&p)
weixin_44749224 2020-05-25
  • 打赏
  • 举报
回复
学习学习 不雪都后退了
AbCdEfGhIj00 2020-05-25
  • 打赏
  • 举报
回复
本质上 C 是 “值传递” char* p1 是 p1 指向的 串的地址 char** p1是 p1 本身的 地址
棉猴 2020-05-24
  • 打赏
  • 举报
回复
请参考《C++中函数参数类型为指针的指针》 希望能够帮到你!
bifanwen 2020-05-24
  • 打赏
  • 举报
回复
???????
schlafenhamster 2020-05-24
  • 打赏
  • 举报
回复
本质上 C 是 “值传递”
char* p1 是 p1 指向的 串的地址
char** p1是 p1 本身的 地址
zhk1211 2020-05-24
  • 打赏
  • 举报
回复
这不该是编译错误吗
jadepeak 2020-05-24
  • 打赏
  • 举报
回复
学习了,好像记得内存中分几个区,有的返回后就已经不可预测了
  • 打赏
  • 举报
回复
会出现的情况如二楼与四楼所述,但最根本我还是建议 你搞清楚传值,传指针与传引用的区别 这对你自己写程序也会有很大的帮助,以后遇到传参的问题也能很快定位
sichuanwww 2020-05-24
  • 打赏
  • 举报
回复
字符串的东西 为什么不用string类型呢?
luj_1768 2020-05-24
  • 打赏
  • 举报
回复
看上去好像是说:一个虚指针被分配了地址空间,于是出错了;如果只声明指针2,而不赋值为nullptr,那么还会出错么?
加载更多回复(7)

64,646

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧