C指针申请内存
来源:互联网 发布:尚硅谷周阳视频linux 编辑:程序博客网 时间:2024/05/17 04:57
#include <stdio.h>struct abc{ int len;};typedef struct abc Abc;void fun1(Abc **a,Abc *b){ free(*a); *a=b;}void fun2(Abc **a){ Abc *new =(Abc *)malloc(sizeof(Abc)); new->len=12; *a=new;}main(){ Abc *pointer,*p1; p1=(Abc *)malloc(sizeof(Abc)); p1->len=15; fun2(&pointer); printf("the fun2 *pointer---->%d\n",pointer->len); fun1(&pointer,p1); printf("the fun1 pointer--->%d\n",pointer->len);}
输出结果:12 15
如果通过指针申请内存的话,就需要用到指针的指针,在林锐博士的文章中提到编译器会为每个函数的参数最一个备份,eg,fun(int *p),它会备份一个_p作为在函数中操作用,一个作为外边用,程序执行时会把函数内的指针值所指向的值赋给外边的,这就是为什么指针可以传递参数的原因,但如果申请内存的话,只是改变了指针指向的位置,其本身所指向的值并未改变,所以不能申请到内存,如果要用指针申请内存的话,只能用指针的指针。
0 0
- C指针申请内存
- C指针(一) - 申请和释放内存
- C指针(一) - 申请和释放内存
- 指针申请内存
- C语言 结构体指针需要申请内存但函数定义指针不需要申请
- C/C++ 如何用指针参数去申请内存呢?
- c/c++多级指针的内存申请和释放
- c语言中的内存管理(重点:动态内存申请释放,野指针,指针函数)
- C内存申请函数
- c 局部申请内存
- C内存申请释放
- C语言申请内存
- C申请内存函数
- 指针申请内存和释放
- 利用指针的指针来申请内存
- 指向指针的指针申请动态内存
- C语言基础之函数、虚拟键盘的使用、数组、指针、动态申请内存、内存泄漏
- C语言基础之函数、虚拟键盘的使用、数组、指针、动态申请内存、内存泄漏
- 黑马程序员——Java基础——网络编程
- ORACLE 最大连接数的问题
- iOS 创建用xib制作的ViewController,不可以使用new方法
- 获取下一周日期
- f2fs创建一个文件的具体过程
- C指针申请内存
- 可变参数列表
- mysql查询今天,昨天,近7天,近30天,本月,上一月数据方法
- 数据库 - 恢复策略与数据库镜像
- android adb 命令发送 keyevent
- WebSphere Message Broker 学习资源
- Android访问网络,使用HttpURLConnection还是HttpClient?
- Xcode配置SVN
- 模拟新浪微博随便看看一栏