
关于双指针的简单理解
发布日期:2021-05-10 04:41:39
浏览次数:22
分类:精选文章
本文共 518 字,大约阅读时间需要 1 分钟。
运行代码
#includevoid GetMemeory(char *p){ p = (char *)malloc(100);}void Test(){ char *str = NULL; GetMemeory(str); strcpy(str, "Thunder"); strcat(str + 2, "Downloader"); printf(str);}
运行结果
程序崩溃
程序解释
首先,函数为按值传递,所以p和str指向的是同一个NULL;
GetMemory函数执行完后,为p指向的空间增加了内存空间,但str仍然指向NULL;
要修改实参,就要传递实参的地址,因此需要传递二级指针,修改如下:
void GetMemory(char **p){ *p = (char *)malloc(100);} void Test(){ char *str = NULL; GetMemory(&str); strcpy(str,"Thunder"); strcat(str+2,"Downloader"); printf(str);}
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月18日 06时04分45秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
wxWidgets源码分析(6) - 窗口关闭过程
2021-05-09
wxWidgets源码分析(7) - 窗口尺寸
2021-05-09
wxWidgets源码分析(8) - MVC架构
2021-05-09
wxWidgets源码分析(9) - wxString
2021-05-09
Mybatis Generator最完整配置详解
2021-05-09
[白话解析] 深入浅出熵的概念 & 决策树之ID3算法
2021-05-09
[梁山好汉说IT] 梁山好汉和抢劫银行
2021-05-09
[源码解析] 消息队列 Kombu 之 基本架构
2021-05-09
[源码分析] 消息队列 Kombu 之 启动过程
2021-05-09
[源码分析] 消息队列 Kombu 之 Consumer
2021-05-09
[源码分析] 消息队列 Kombu 之 mailbox
2021-05-09
抉择之苦
2021-05-09
wx.NET CLI wrapper for wxWidgets
2021-05-09
ASP.NET MVC Action Filters
2021-05-09
兰州大学百年校庆--风雨百年萃英路
2021-05-09
Eucalyptus企业云计算
2021-05-09
Service Broker 无法工作的问题修复
2021-05-09
WCF WebHttp Services in .NET 4
2021-05-09