开辟指针内存后赋址不了的?
#include <stdio.h>#include <stdlib.h>
void fun(int *a, int *b)
{ int *t;
t=(int *)malloc(2 * sizeof(int));
*t=*a + *a++;
*(t+1)=*a+ *a;
b=t;
}
main()
{
int a[2]={8,8},b[2]={0};
fun(a,b);
printf("%d,%d\n",b[0],b[1]);
}
标题不知说的恰不恰当。。。
为什么编译出的是0,0 而不是16,16 不是把t赋址给b了吗?