社区
C++ 语言
帖子详情
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;
}
...全文
1315
27
打赏
收藏
C/C++,下面代码运行后会出现什么结果,为什么
void fun1(char* p1) { p1 = (char*)malloc(100); } void fun2() { char* p2 = nullptr; fun1(p2); strcpy(p2, "大风起兮云飞扬"); printf(p2); } int main() { fun2(); return 0; }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
学习了,好像记得内存中分几个区,有的返回后就已经不可预测了
昨天周末明天周一
2020-05-24
打赏
举报
回复
会出现的情况如二楼与四楼所述,但最根本我还是建议 你搞清楚传值,传指针与传引用的区别 这对你自己写程序也会有很大的帮助,以后遇到传参的问题也能很快定位
sichuanwww
2020-05-24
打赏
举报
回复
字符串的东西 为什么不用string类型呢?
luj_1768
2020-05-24
打赏
举报
回复
看上去好像是说:一个虚指针被分配了地址空间,于是出错了;如果只声明指针2,而不赋值为nullptr,那么还会出错么?
加载更多回复(7)
VS Code 配置 C/
C++
编程运行环境(保姆级教程)
在本教程中,将会安装 Visual Studio Code(后简称 VS Code),并在 VS Code 中安装 C/
C++
相关插件, 同时也将 VS Code 配置为使用 MinGW-W64 中的 GCC C/
C++
编译器(gcc/g++)和 GDB 调试器来创建在 Windows 上运行的程序。配置 VS Code 后,你将编写、编译、运行和调试大多数的 C/
C++
程序。本教程所有参考内容均来自。
【C语言】VScode中配置C语言/
C++
运行环境(保姆级图文)
【C语言】VScode中配置C语言/
C++
运行环境(保姆级图文)
为什么C语言 /
C++
永远不会被取代
数以百计的 C/
C++
备选品
出现
了,但程序员仍将使用 C/
C++
,因为重写面向 C/
C++
的计算机历史是不现实的。这并不意味着 C 和
C++
是好的语言——在某些方面 (例如复杂性、内存安全性等),备选语言可能比 C/
C++
更好,但它们无法进入 C/
C++
的领域,因为以前的程序员用 C 和
C++
编写了整个现代计算机历史。在 20 世纪 20 年代,程序员实现了 C/
C++
的备选品,如 Go、D、Rust 和 Carbon,它们具有 C/
C++
从未提供的各种特性。
vsCode Mac版 配置C/
C++
,并运行代码
vsCode Mac版 配置C/
C++
,并运行代码
VS code运行C/
C++
代码
一、VS code 非常强大的开发工具!!! 二、插件 PS:一般装有g++或者能够运行C/
C++
程序的电脑只需要安装
下面
两个插件即可正常编译运行C/
C++
程序。 1.C/
C++
(https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) 2.Code Runner(https://marketp...
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章