#include<stdio.h> #include<stdlib.h> void AllocateMemory(int **pGetMemory, int n) { int *p = (int*)malloc(sizeof(int) * n); if (p == NULL) { *pGetMemory = NULL; } else { *pGetMemory = p; } } int main() { int *arr = NULL; int len = 10; int i =
如题所示,我们主要讨论在自定义的内存分配函数中通常见到的代码如下所示: void Create(A** addr); 其中传递的参数是二级指针.为什么? 我们先看一下完整的动态内存分配函数的简单例子: struct A { int a = 0; int b = 0; int c[3]; }; void Create(A** addr) { printf("a1: %p\n", addr); *addr = new A(); printf("a2: %p\n", ad