如何用c定义一个未知长度的整型数组a[n]?

如题所述

如果你永远不知道数组的长度,那么这样的数组没有什么实际意义,就不必要定义,当然也没有办法定义。
如果你总是要知道长度的,那就在知道长度后用动态内存分配函数malloc()来为它分配内存。当数组的长度要发生变化时你可以重新为它分配内存,把数组拷贝过来,而把原先分配的内存归还给系统……
使用链表也能解决你的问题。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-01-02
除常量数组外,数组必须是定长的,如果不知道长度,有几种办法,固定分配一个你认为不会出现的维度值,或者对数组进行动态分配,如:
int *pArray,nCount;
int Insert(int * pArray,int nCount,int nElement)
{
int *pInt;

pInt = new int[nCount+1];
if(nCount>0)memcpy(pInt,nArray,nCount);
pInt[nCount++] = nElement ;
if(pArray)delete pArray;
pArray = pInt;
return nCount;
}

main()
{
nCount = 0,pArray = NULL;
nCount = Insert(pArray,nCount,99);
}本回答被提问者采纳
第2个回答  2011-12-16
加个头文件#include <malloc.h>
int* a = (int*)malloc(sizeof(int));
相似回答