第1个回答 2010-08-31
那就用指针呗 指针是c和c++中最强大的武器
如创建一个a[5]数组
int *p = NULL;
int input = 0;
scanf("%d",&input);
p = (int *)malloc(input*sizeof(int));
创建一个二维数组 你需要定义一个双星的指针;
int **p;
int i;
int nRow = 0;
int nColume = 0;
scanf("%d",&nRow);
scanf("%d",&nColume);
p = (int **)malloc(nRow*sizeof(int*));
for(i = 0; i<nRow; i++)
{
p[i] = (int*)malloc(nColume*sizeof(int));
}
第2个回答 2010-08-31
c++中不可以动态建的,但是有方法可以做出这种效果
以一维数组为例吧
#include<iostream.h>
void main()
{
int rem;
int a[100];
cout<<"要建含几个元素的数组?"<<endl;
cin>>rem;
for(int i=0;i<rem;i++)
{
cout<<"请为第"<<i+1<<"个元素赋值"<<endl;
cin>>a[i];
}
}
第3个回答 推荐于2017-10-08
C语言:
int i=0;
scanf("%d",&i);//输入i
int *p=(int *)malloc(sizeof(int)*i);
C++:
int i=0;
cin>>i;
int *p=new int[i];
5*4的:
C语言:
int i=0,j=0;
scanf("%d",&i);//输入i
scanf("%d",&j);//输入j
int *p=(int *)malloc(sizeof(int)*i);
for(int k=0;k<i;k++)
{
p[k]=(int *)malloc(sizeof(int)*j);
}
C++:
int i=0,j=0;
cin>>i;
cin>>j;
int *p=new int[i];
for(int k=0;k<i;k++)
{
p[k]=new int[j];
}本回答被提问者采纳