变长数组VLA
#include "stdafx.h"
#include <stdlib.h>
int _tmain(int argc, _TCHAR* argv[])
{
int size;
printf("请输入数组的大小:");
scanf("%d", &size);
int * pa = (int*)calloc(size, 4); //申请初始数组
for (int i = 0; i<size; i++)
{
pa[i] = i;
}
for (int i = 0; i<size; i++)
{
printf("%d\n", pa[i]);
}
printf("请输入新数组的大小:");
int newSize;
scanf("%d", &newSize);
pa = (int*)realloc(pa, newSize * 4); //扩容现有数组大小
printf("数组输出:");
for (int i = size; i<newSize; i++)
{
pa[i] = 1000; //给扩容的数组赋值为1000
}
for (int i = 0; i<newSize; i++)
{
printf("%d\n", pa[i]); //打印扩容后的整个数组
}
free(pa);
return 0;
}