如题所述
如果你永远不知道数组的长度,那么这样的数组没有什么实际意义,就不必要定义,当然也没有办法定义。
如果你总是要知道长度的,那就在知道长度后用动态内存分配函数malloc()来为它分配内存。当数组的长度要发生变化时你可以重新为它分配内存,把数组拷贝过来,而把原先分配的内存归还给系统……
使用链表也能解决你的问题。
如果你总是要知道长度的,那就在知道长度后用动态内存分配函数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);
}本回答被提问者采纳
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));
int* a = (int*)malloc(sizeof(int));