千家信息网

C语言字符串指针做函数参数实例分析

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"C语言字符串指针做函数参数实例分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"C语言字符串指针做函数参数实例分析"吧!看一下下面这段代
千家信息网最后更新 2026年11月03日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安全错误 数据库的锁怎样保障安全 河南云网互联网络科技有限公司 互联网科技工作委员会主任 科技与互联网 互联网通讯科技 合肥互联网科技公司 互联网科技公司官网 易通互联网络科技有限公司 卓越科技互联网 招聘 互联网科技商业 崇明区互联网教育科技售后服务 注册互联网科技公司经营范围大全 996高科技互联网公司 卓翼科技产业互联网合作 滨湖区互联网智能科技产品有哪些 互联网科技年终奖 科技互联网行业投资研究 科技信息时代互联网发展 米泉互联网科技专业怎么样 互联网领先科技成果宣传视频 互联网科技自媒体灵感 南京欣网互联网络科技 互联网加科技 深圳市人人互联网科技有限公司 金融科技创新监管互联网金融 互联网科技开发公司 青海省互联网新科技 深圳国际航运科技和互联网 新兴科技互联网创新大赛颁奖典礼 广西互联网科技孵化中心 深圳互联网科技的发展
0