C语言字符串指针做函数参数实例分析
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,本篇内容主要讲解"C语言字符串指针做函数参数实例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言字符串指针做函数参数实例分析"吧!看一下下面这段代
千家信息网最后更新 2025年12月04日C语言字符串指针做函数参数实例分析

本篇内容主要讲解"C语言字符串指针做函数参数实例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言字符串指针做函数参数实例分析"吧!
看一下下面这段代码有什么问题?
#include "stdio.h"
//#include "stdbool.h"
#include "string.h"
#include "stdlib.h"
#include "math.h"
void getMemory(char *p)
{
/*char *p = str*/
p = (char *)malloc(100);
strcpy(p,"hello world");
printf("p:%s\n",p);
}
int main()
{
printf("Enter main...\n");
char *str = NULL;
printf("str:%p\n",str);
getMemory(str);
printf("%s\n",str);
if(str != NULL)
free(str);
return (0);
}
我们直接看输出,输出是这样的

分析一下 很多人对函数传参数还不是特别清楚
void getMemory(char *p)
{
/*char *p = str*/
p = (char *)malloc(100);
strcpy(p,"hello world");
printf("p:%s\n",p);
}
getMemory(str);
str 是一个指针变量,也就是说 它存的是一个内存地址,这个内存地址指向类型是 char * 「也就是字符串」
但是把str 传给getMemory(char * p)的时候,它传递的是 str 的副本,不是它本身
既然传的是副本,在getMemory 里面操作的代码,也都是对这个副本进行操作,函数调用结束,也就销毁回收了。
所以 str 的值还是原来的 NULL
如何修改?
#include "stdio.h"
//#include "stdbool.h"
#include "string.h"
#include "stdlib.h"
#include "math.h"
void getMemory(char **p)
{
/*char **p = &str*/
*p = (char *)malloc(100);
strcpy(*p,"hello world");
printf("p:%s\n",*p);
}
int main()
{
printf("Enter main...\n");
char *str = NULL;
printf("str:%p\n",str);
getMemory(&str);
printf("%s\n",str);
if(str != NULL)
free(str);
return (0);
}
看输出结果

到此,相信大家对"C语言字符串指针做函数参数实例分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
函数
参数
字符
字符串
指针
分析
实例
实例分析
语言
副本
输出
也就是
代码
内存
内容
地址
学习
实用
更深
清楚
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器换硬盘需要换一样缓存的吗
网络安全为人民五年级文章
git服务器如何创建
东莞理工学院软件开发专业
下面列出的数据库管理技术
姜堰app软件开发公司
锐捷网络安全监控软件
软件开发公司融资方案
sql数据库有哪些序列
上海常见网络技术解决方案
数据库实施阶段工作的是
黑龙江数据软件开发服务参考价格
赵建锋互联网科技教育平台
腾讯手机无线网连接服务器
应用服务器怎么看磁盘满了没
联想服务器管理端口升级
我的世界服务器水流
计算机网络技术课心得
重庆光学仿真软件开发公司
智制造 网络安全大会
用友服务器启动慢
兰州展厅多媒体软件开发
网络安全堡垒机多少钱
显示无法连接服务器是咋回事
工控网络安全态势
山东科技大学服务器
青岛网络安全进社区
数据库表结构图在线
辽宁专业软件开发怎么样
如何使用cfda数据库