C++动态增加数组长度

2024-12-01 04:30:47
推荐回答(5个)
回答1:

1.你可以设立一个指针intPointer(指针和数组本来就是一家人):int *intPointer;
然后当取得了i的值后用:intPointer=(int *)malloc(i*sizeof(int));
int main()
{
int i;
cin>>i;
int[]a=new int[i];
}

回答2:

用new 数组长度给定后。如果想增加。只能重新分配空间。保存元素,然后在进行删除

回答3:

用realloc函数,在原基础上再次分配

回答4:

#include
using namespace std;
int main(){
static int len=10;
static int j=0;
int c;
int *p=new int[10];
int *q;
while(cin>>c)
{

if(j!=0&&j%10==0)
{
len=len+10;
q=new int[len];
for(int x=0;x{
q[x]=p[x];
}
p=new int[len];
for(int y=0;y{
p[y]=q[y];
}
}
p[j]=c;
j++;
while(cin.peek()==' ') //屏蔽空格
{
cin.get();
}
if(cin.peek()=='\n')
{
break;
}

}
for(int n=0;ncout<return 0;
}

回答5:

int *ch = NULL;
int length = 0;
cin>>length;
ch = new int[length];
......
delete[]ch;
ch = NULL;