我有一个问题......可以说我有以下部分代码:
int *a,*a1,*a2;
for (i=1; i<=2; i++) {
a=malloc(sizeof(int));
if (i==1) a1=a;
else if (i==2) a2=a;
}
*a1=5;
*a2=4;
所以我的问题是,如果我使用 printf 打印 a1 和 a2 变量 a1 的值将是 5 而 a2 的值是 4 ?因此,如果我使用 malloc 分配内存和该内存空间中的 a 点,然后再次使用 malloc 分配内存,那么 a 指向内存的不同部分,但内存的第一部分仍然存在?或者如果我再次使用 malloc ,它将擦除内存的第一部分,并将写入内存的新部分