首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c++支持变长数组吗?解决思路

2012-03-07 
c++支持变长数组吗?例如:intmatrix[n]是否合法[解决办法]int matrix[n]无论是c99 还是 c++ 都不合法在

c++支持变长数组吗?
例如:int   matrix=[n];是否合法

[解决办法]
int matrix=[n];

无论是c99 还是 c++ 都不合法

在c99(你可以用dev c++试)

可以这样

int n;

cin> > n;

int matrix[n];


c++ 就只能

int n;

cin> > n;

int* matrix = new int[n];
[解决办法]
//一维
#include <iostream>
#include <vector>
using namespace std;

int main()
{
int len;
cin> > len;
vector <int> array(len);//声明变长数组

for(int i=0;i <len;i++)
{
array[i]=i;
cout < <array[i] < < "\t ";
}
return 0;
}
//二维
#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
int num1,//行数
num2;//列数

cout < < "Please enter the number for row and column: " < <endl;
cin > > num1 > > num2;

//为二维数组开辟空间
int **p = new int*[num1];
for(int i=0; i <num1; ++i)
p[i] = new int[num2];

for(int j=0;j <num1;j++)
{
for(int k=0;k <num2;k++)
{
p[j][k]=(j+1)*(k+1);
cout < <setw(6) < <p[j][k] < < ': ' < <setw(8) < <&p[j][k];
}
cout < <endl;
}

//释放二维数组占用的空间
for(int m=0;m <num1;m++)
delete[] p[m];
delete[] p;

return 0;
}

热点排行