美文网首页
C++ 中二维数组的使用

C++ 中二维数组的使用

作者: 发现自己是一条咸鱼 | 来源:发表于2019-08-20 16:50 被阅读0次

参考链接

创建空间大小固定的数组

# define N 16
int a[N][N];
int b[7][7]; //中括号内应该为常量。
const int n =9;
int c[n][n]; //n被声明为常量
//没有任何初始化下,该变量值是任意值
int c[n][n]={};
或者
int c[n][n]={0};
//这两种情况所有的元素都内初始化为0

创建动态二维数组

    int **p = new int *[N];//创建过程
    for (i = 0; i < N; i++)
        p[i] = new int[N];
    for (i = 0; i < N; i++)
        for (j = 0; j < N; j++)
        {
            p[i][j] = 0;
            cout << p[i][j] << endl;
        }
    for (i = 0; i < N; i++) //释放过程
        delete [] p[i];
    delete[] p;

这个过程的思想是,将二维数组看成是一个数据类型为int * 的一维数组p[i]相当于数组名,然后int * 指向一个数据类型为int的一维数组p[i][j]。

利用vector数组

#include<vector>
vector<vector <int>> v(3,vector<int>(3));//将vector数组初始化为3*3的矩阵

二维数组参数传递

规定:如果将二维数组作为参数传递给函数,那么在函数的参数声明中必须指明述数组的列数,数组的行数没有太大的关系,可以指定也可以不指定。因为函数调用时传递的是一个指针,它指向由行向量构成的一维数组。

  • void func(int array[3][10]);
  • void func(int array[][10]);
  • void func(int (* array)[10]); //表明指向具有10个元素的一维数组。
    ( * array)必须用括号括起来
    否则,意义发生变化:
  • voidfunc(int * array[10]) //一个数组array有10个元素,每个元素的类型是int *

若将列数省略,系统无法决定多少行多少列。下面表示的定义都是不合法的

  • void func(int array[][]);
  • void func(int array[3][]);

相关文章

  • C++ 中二维数组的使用

    参考链接 创建空间大小固定的数组 创建动态二维数组 这个过程的思想是,将二维数组看成是一个数据类型为int * 的...

  • 俄罗斯套娃程序

    题目: C++: 注意对int **二维数组的使用, 基数排序.

  • vector遍历一个二维数组2018-10-14

    如何通过stl中vector遍历一个二维数组? vector中二维数组的遍历方法: 1、迭代器遍历 void re...

  • 数组

    1、一维数组 1.1 创建一维数组 1.2 一维数组的使用 2、二维数组 2.1 创建二维数组 2.2 二维数组的...

  • 数组

    一维数组的创建及使用二维数组的创建及使用数组的基本操作数组排序算法

  • 4-Java数组

    在Java中,数组的工作方式和C/C++不同 一维数组 一维数组本质上是一连串类型相同的变量。为创建数组,首先必须...

  • Java数组

    一维数组的创建及使用 一维数组是一组相同类型数据的线性集合。 创建一维数组 数组作为对象允许使用new关键字进行内...

  • PHP数组合并和保存网络图片

    php中二维数组纵向合并和横向合并的代码实现$a = array(array("1","2"),array("3"...

  • C语言的指针与数组(进阶篇之一)

    一、一维数组与指针 (1).数组指针在C语言中,数组的首地址称为数组指针。而C++规定,数组的首地址可用数组名a表...

  • 2017.10.31C#

    今天老师讲了一维数组,二维数组,多维数组! 在课堂上老师讲了基础知识, 一维数组使用: 声明数组int[]scor...

网友评论

      本文标题:C++ 中二维数组的使用

      本文链接:https://www.haomeiwen.com/subject/pcrplctx.html