在通过函数分配空间时参数需要设定为二级指针,才能使得在函数内部分配的空间能正确通过参数传回去
以下是一个简单的测试程序
#include <stdlib.h>
#include <stdio.h>
void malloc_test(int **p)
{
*p = (int *)malloc(sizeof(int));
**p = 5;
printf("**p value:%d\n",**p);
}
int main()
{
int *tmp = NULL;
malloc_test(&tmp); //通过函数给指针tmp分配空间
printf("*tmp value:%d\n",*tmp);
return 0;
}