C 语言函数值传递和指针传递区别

 时间:2026-04-30 12:06:41

1、#include <stdio.h>

#include <stdlib.h>

#include <string.h>

//值传递时,并不改变实参的值

void getmemory(char *p)

{ 

p=(char *) malloc(100); 

strcpy(p, "hello world");

}

int main()

{

char *str=NULL; 

getmemory(str); 

printf("%s",str); 

free(str); 

return 0; 

}

并且每次调用函数,都会泄露100大小内存空间

C 语言函数值传递和指针传递区别

2、#include <stdio.h>

#include <stdlib.h>

#include <string.h>

//实参地址作为参数传递,可以改变实参的值

void getmemory(char **p)

{ 

*p=(char *) malloc(100); 

strcpy(*p,"hello world"); 

}

int main()

{

char *str=NULL; 

getmemory(&str); 

printf("%s\n",str); 

free(str); 

return 0; 

} 

C 语言函数值传递和指针传递区别

  • 成都市郫都区三道堰青杠树景区周末游
  • 四川绵阳唐讯科目三:道路路口图景。
  • 坦克300防冻液放水口在哪里
  • 小米平板黑屏怎么设置双击唤醒屏幕
  • 天玑最新处理器是多少
  • 热门搜索
    我读书我快乐手抄报内容 美丽的秋天手抄报 科技手抄报内容大全 八一建军节手抄报 欢度国庆手抄报 六一手抄报图片 我的书屋我的梦手抄报 预防新型冠状病毒手抄报内容 少先队知识手抄报 安全小知识手抄报