#include<stdio.h>//为什么在函数里面申请的动态内存,在函数外就无效?
#include<stdlib.h>
void apply(int*b)
{
b=(int*)malloc(sizeof(int));
*b=6;
printf("b:%d %d\n",b,*b);
}
int main(void)
{int*a=NULL;
printf("a:%d\n",a);
apply(a);
printf("a:%d\n",a);}
因为 b 是指针类型,在 apply 里修改 b 的值在返回后是无效的。
正确的是传入指针的指针,如
void apply( int **b )