#include<stdio.h>
int main()
{
int a = 3;
int* b = (int*)calloc(a * 4);
int c = 0;
int* m = b;
for (int i = 0; c!=-1; i++)//
{
if (i >= a)
{
a+=1;
int* b=(int*)calloc(a * 4);
for (int j = 0; j < i; j++)
{
b[j] = m[j];
}
free(m);//释放原来的内存
m = NULL;
m = b;
}
scanf_s("%d", &c);
m[i] = c;//两个指针指同一个地方
}
for (int i = 0; m[i]!=-1; i++)
{
printf("输出值为 %d\n", m[i]);
}
free(b); //所以只释放一个就够了
b=NULL;
return 0;
}