迪庆州住房和城乡建设局网站,广州开发区,宠物交易网站模板,wordpress 增加导航栏文章目录 前言一、案例 前言
在一些情况下#xff0c;我们需要在函数内部动态地分配内存来存储结构体#xff0c;并且需要在函数外部访问该结构体。在这种情况下#xff0c;可以使用二级指针作为函数参数来实现动态内存分配#xff0c;并且在函数外部使用指针访问结构体。… 文章目录 前言一、案例 前言
在一些情况下我们需要在函数内部动态地分配内存来存储结构体并且需要在函数外部访问该结构体。在这种情况下可以使用二级指针作为函数参数来实现动态内存分配并且在函数外部使用指针访问结构体。 一、案例
#include stdio.h
#include stdlib.h
void allocateMemory(int **ptr) {// 分配内存,并修改外部函数指针的指向如果你不信 你可以用一级指针作为参数加进来就不会修改外部指针的地址*ptr (int *)malloc(sizeof(int));if (*ptr NULL) {printf(Memory allocation failed\n);exit(1);}// 将值赋给分配的内存**ptr 10;
}int main() {int *ptr NULL;printf(Before calling allocateMemory: ptr %p\n, (void *)ptr);// 调用函数动态分配内存allocateMemory(ptr);printf(After calling allocateMemory: ptr %p, *ptr %d\n, (void *)ptr, *ptr);// 释放内存free(ptr);return 0;
}结果