c++新建不知道长度的数组

新建一个数组,由用户输入存入的数,长度也由输入的数来确定,怎么办才好?

这个可以用new 来进行定义数组长度未定的数组。
写了个例子给你看:
#include<iostream>
using namespace std;
void main()
{
int i;
cout<<"请输入数组的长度"<<endl;
cin>>i;
int *p=new int[i]; //定义长度为i的数组p
for(int j=0;j<i;j++) //给分配的数组进行赋值
p[j]=j;
cout<<"这个数组的内容为"<<endl;
for(j=0;j<i;j++)
cout<<p[j];
}
清楚了没?还有什么不懂的可以问我!
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-03
int size;//size表示数组长度
size=<表达式>;//给size赋值
int * p=new int [size];//要定义不确定长度数组,必须动态分配,此处以定义int型数组为例
//接下来用*(p+i)来访问数组
//最后delete [] p

所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。
第2个回答  2010-03-19
要么直接用vector,要么采用类似vector的方式,第一次new int[1]; 还有用new int[2],把之前的1个数复制过来,并delete之前那个;还有就是int[4],把之前的2个数复制过来,并delete之前那个;之后就int[8],int[16]...直到读完
第3个回答  2010-03-19
这个可以通过动态分配内存来做到,c++中有个分配内存的操作符new可以动态分配内存,举例如下:

int main()
{ int *p = NULL;
int size = 0;
cin>>size;
p = new int[size];//分配了一块包含size个int类型的内存
for(int i=0;i!=size;i++)
{
p[i] = i;
}
for(int i=0;i!=size;i++)
{
cout<<p[i]<<endl;
}
return 0;
}
第4个回答  2010-03-19
接收用户输入的数组长度;
再new 一个该长度的 数组
循环 该长度次数
{
循环中读取用户的每次输入 ,存入数组
}

使用数组

删除数组

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网