在需要数组元素未知的情况下,该怎么弄??
谢谢,知道的朋友说一下下!
在需要数组元素未知的情况下,该怎么弄??
谢谢,知道的朋友说一下下!
你好, C++中可以利用new 动态创建数组.
具体格式为: int *p=new int[n]; // n的值可以从键盘获取.
举个例子:
#include <iostream>
using namespace std;
int main()
{
int n; //n可以随便是任何数. 可以指定,也可以从键盘输入.
cin>>n; //输入数组的长度.
int *p=new int[n+1]; //动态创建数组. 长度+1是为了增加结束符. 如果用下标输出就不用+1.
for(int i=0;i<n;++i) //初始化数组;
cin>>p[i];
//如果创建数组时长度不加1,也就是不增加结束符,那么就可以直接用下标输出.
//利用输入的长度,作为for循环的上界值.下标从0开始.
for(i=0;i<n;++i)
cout<<p[i]<<"\t";
cout<<endl;
//利用指针输出,对*p进行判断,如果*p等于'\0'结束符的话,就结束for循环.
p[i]='\0'; //结束符.
for(;*p;++p)
cout<<*p<<"\t";
return 0;
}
有何问题请追问.
INT数组做个例子:
int[] i; //只声名i是一个INT数组,它的大小是不定的,此时它是空的。
i[0]=2008;//这时它有一个元素。
i[1]=2009;//它有两个了。
在未知的情况下,建议用指针,动态数组vb里面有,c家族里面好像没有
用容器 vector() . 比如resize()函数,调整大小的.
或者使用链式储存的数组.那样也不叫数组了...