C语言中的数组,按照理解分为两种:
1 狭义的数组,指的是以
TYPE name[M]...;
形式定义的数组,也称为静态数组。静态数组在定义的时候就确定了数组的大小,无法在运行中对其做改变。
2 广义的数组,除静态数组外,还包括动态数组。
动态数组的本质为指针,如
TYPE *name;
对指针上可以用malloc等函数,分配内存空间,实现与静态数组类似的操作。对于动态数组,可以使用realloc函数,
void * realloc(int size, void *p);
重新分配参数p上的内存大小为参数size。
新返回的的地址值,可能与参数p的原始地址值不同。
该函数可以使p上可使用的内存大小调整到size字节,从而实现动态数组大小的调整。