c++中如何声明一个二维数组?

如题所述

第1个回答  推荐于2019-09-08

解决方案如下:

const char* getContent(int row,int column){

const char* temp1[] =
{
"1行1列","1行2列","1行3列","1行4列","1行5列",
};
const char* temp2[] =
{
"2行1列","2行2列","2行3列","2行4列","2行5列",
};
const char* temp3[] =
{
"3行1列","3行2列","3行3列","3行4列","3行5列",
};
const char* temp4[] =
{
"4行1列","4行2列","4行3列","4行4列","4行5列",
};
const char* temp5[] =
{
"5行1列","5行2列","5行3列","5行4列","5行5列",
};
const char** temp[] =
{
temp1,temp2,temp3,temp4,temp5,
};
const char** tab =temp[row];

return tab[column];

本回答被网友采纳

怎样用c++声明一个二维数组是未知大小?
c\/c++无法声明一个不定大小的二维数组,不过可以用二级指针来模拟(我想你清楚数组和指针的区别吧)\\r\\nint **A; \/\/声明二级指针A,指向一个指针数组(切记不是指向一个二维数组)\\r\\n \\r\\ncin >> M >> N; \/\/输入两个维度\\r\\nA = new int *[M]; \/\/开辟指针数组\\r\\nfor(...

C++中怎么用new函数定义一个二维数组?
方法一:使用常量 接上:如果将b指定为一个常量,例如new int[a][5],其实质与new int[a]创建一个动态数组并无多大区别——只是元素类型由int变为了'int[5]'而已。示例代码:void TestFunc_(unsigned int n){ unsigned int i,j;\/\/元素类型为‘int[5]’的数组,可赋值给‘int[5]’类型的...

C++ 如何声明超大的二维数组
可以在函数外面直接声明,不在函数里面这样子声明就好。例如:int main() {int arr[1024][1024];}这样的声明程序会直接崩溃,没有办法运行的,但是稍微改一下:int arr[1024][1024];int main() {...}这样子的话,程序就可以正常运行了。

c++ 创建二维数组的几种方法
需要先申请一个M个元素的一维指针空间,然后对每个一维指针上,申请N个元素的对象空间。这样就可以申请一个M行N列的二维数组空间了。以整型为例 const int M = 10, N = 5;\/\/10行5列。int ** a;a = new int *[M];for(int i = 0; i < M; i ++) a[i] = new int[N];所...

如何在c++中定义一个可以自定义行数和列数的二维数组
动态二维数组一般用堆指针来实现,给你个例子,为测试方便用随机数填充并输出:include <iostream> include <cmath> include <cstdlib> include <ctime> using namespace std;int main(){ int r, c, i, j;cout << "输入矩阵的行数:";cin >> r;cout << "输入矩阵列数 : " ;cin >> c...

c++ 用vector 定义二维数组
“二维”、“多维”数组在初级编程和解算法题时会被提到并流行 真正在实用中是较少用到的。实用中多用的是“装数组的数组”。vector<vector<int>> v;这个就是"二维",可以用v.size()直接得到行数 argv[] 这个也是"二维"。

如何输入一个二维数组 长度不定C++
两种方法,简单一点的,C++允许动态定义数组,所以可以这样#include <iostream> using namespace std;int main(){ int m, n;cin >> m >> n;int a[m][n];int i, j;for(i = 0; i < m; i ++)for(j = 0; j < n; j ++)cin >> a[i][j];cout << "print:\\n";for(i =...

int **x是怎样声明的二维数组,具体解释一下
int **x; 表示定义一个二维指针。如果想动态分配二维数组,需要先分配行指针数组,再对每行进行数组分配,参考代码如下:include <stdio.h>#include <stdlib.h> \/\/malloc needvoid main(){ int **x; int i,j; x=(int **)malloc(sizeof(int*) * 10 ); \/\/分配10指向10个int*...

c++中的new()申请二维数组
int *x = new[x][y] 是一个编译错误。 左右类型不匹配的。分配二维数组如下:int **a = new int*[10]; \/\/第一维,for( int i=0; i<10; i++){ a[i] = new int[10]; \/\/分配第二维,每一行的空间。}

C++如何定义一个两个下标数都是变量的二维数组?
using namespace std;int main(void){ int n, c = 0;cin >> n;int **p = new int * [n];for (int i = 0; i != n; ++i)p[i] = new int [n];for (int i = 0; i != n; ++i){ for (int j = 0; j != n; ++j){ p[i][j] = ++c; \/\/ 可以当数组使用...

相似回答