<18>【掌握】二维数组定义+

【掌握】二维数组定义

   二维数组:

       可以看做是一个特殊的一维数组 ,这个一维数组的每个元素又是一个一维数组

   二维数组的定义

       数据类型   数组名[第一维的长度(行)][第二维的长度(列)];

       int a[2][3];
       理解方法:
       1)这是一个特殊的一维数组,一维数组有两个元素 a[0] a[1]
          a[0]  它又存放了一个一维数组该数组长度为 3

       2)定义了一个2行3列的一个矩阵
 
#include <stdio.h>
#define M 3

int main(int argc, const char * argv[]) {

    //定义一个二维数组
    int a[2][3];

    //注意事项
    // int b; 数组名不能和变量名同名
    int b[2][3];

    //数组的长度可以是常量表达式
    int c[2][1+3];

    //注意这种写法,其他的编译器可能不支持
    int m=3,n =3;
    int arr[m][n];  //xcode特有的

    //数组长度可以使用宏定义
    int arr2[3+M][2];

    return 0;
}

【掌握】二维数组初始化

二维数组的初始化

      1)定义的同时初始化

          (1)完全初始化

             int a1[2]={1,2};

             //1、特殊的一维数组,第一维有2个元素
             int a[2][3]={{12,23,45},{1,2,3}};  //分段

             12  23  45
             1   2   3

             //2、连续赋值
             int a[2][3]={1,2,3,4,5,6};

             //3、可以省略第一维
             int a[][3]={{1,2,3},{3,4,5},{3,4,5}}; //int a[3][3]
             int a[][2]={1,2,3,4,5,6,7,8};  //int a[4][2]

          (2)部分初始化

             //一般情况下我们用于给数组初始化为0
             int a[3][4]={1};

             1 0 0 0
             0 0 0 0
             0 0 0 0

             int a[3][4]={{1},{2},{3}};

             1 0 0 0
             2 0 0 0
             3 0 0 0

              注意:这种写法第一维长度可以省略

             int a[3][4]={1,2,3,4,5};

             1 2 3 4
             5 0 0 0
             0 0 0 0

              //不能省略第一维,省略那第三行的0就没有了

      2)先定义,后初始化

         int a[3][4];
        第一维下标:0 1 2
        第二维下标:0 1 2 3
        a[0][0] = 1;
 
#include <stdio.h>

int main(int argc, const char * argv[]) {

    int a1[2]={1,2};

    //1、特殊的一维数组,第一维有2个元素
    int a[2][3]={{12,23,45},{1,2,3}};  //分段

    //2、连续赋值
    int a2[2][3]={1,2,3,4,5,6};

    //3、可以省略第一维
    int a3[][3]={{1,2,3},{3,4,5},{3,4,5}}; //int a[3][3]
    int a4[][2]={1,2,3,4,5,6,7,8};  //int a[4][2]

    int a5[3][4]={1};
    //可以省略第一维
    int a6[3][4]={{1},{2},{3}};
    //可以省略第一维
    int a7[3][4]={1,2,3,4,5};  //int a7[2][4]

    //二维数组中,第一维可以省略,第二维长度不能省
    //int a8[3][]={1,2,3,4};
    return 0;
}

【掌握】二维数组遍历

   二维数组的遍历:

          访问二维数组的每一个元素

   如何访问?

          通过下标来访问

           int a[3][4];

              |    0    1   2   3
 --------------------------------
           0  |    00  01  02  03

           1  |    10  11  12  13

           2  |    20  21  22  23
#include <stdio.h>
void test(){

    int a[][4]={1,2,3,4,0,5,6,7,8,10,23,0};

    printf("%d\n",a[2][2]);
    //二维数组的每一个元素都是一个双下标变量
    a[2][2] = 100;
    printf("%d\n",a[2][2]);

    //每一个元素都打出来看下
    for(int i=0;i<3;i++){

        for (int j=0; j<4; j++) {
            printf("%d\t",a[i][j]);
        }
        printf("\n");
    }

}

int main(int argc, const char * argv[]) {

    test();
    printf("\n");

    int score[5][3] = {{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85}};

    for (int i=0; i<5; i++) {
        for (int j=0; j<3; j++) {
            printf("%d\t",score[i][j]);
        }
        printf("\n");
    }

    return 0;
}
23
100
1    2    3    4
0    5    6    7
8    10    100    0    

80    75    92
61    65    71
59    63    70
85    87    90
76    77    85    
时间: 2024-08-29 02:06:06

<18>【掌握】二维数组定义+的相关文章

js之二维数组定义和初始化三种方法

方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] 方法二:未知长度的二维数组 var tArray = new Array();   //先声明一维 for(var k=0;k<i;k++){        //一维长度为i,i为变量,可以根据实际情况改变

0511 二维数组定义

二维数组 数组的数组---二维数组的每一个元素是一个一维数组 定义格式 数据类型[][] 数组名 = new 数据类型[二维数组的长度/包含的一维数组的个数][每个一维数组的长度]; int[][] arr = new int[3][5];---定义了一个整型的二维数组,其中包含3个一维数组,每个一维数组可以存储5个整数 arr[0]---下标为0的位置上的一维数组 arr[1][3]---如果要获取具体的元素需要两个下标 数据类型[][] 数组名 = new 数据类型[二维数组的长度/包含的一

C#学习二维数组定义及初始化

声明数组时将其初始化,如下例所示: int[,] myArray = new int[,] {{1,2},{3,4},{5,6},{7,8}}; 初始化數組但不指定級別: int[,] myArray = {{1,2},{3,4},{5,6},{7,8}}; 声明一个数组变量但不将其初始化,必须使用 new 运算符数组分配给此变量. int[,] myArray; myArray = new int[,]{{1,2},{3,4},{5,6},{7,8}}; myArray = [,]{{1,2}

C语言数组:C语言数组定义、二维数组、动态数组、字符串数组

1.C语言数组的概念 在<更加优美的C语言输出>一节中我们举了一个例子,是输出一个 4×4 的整数矩阵,代码如下: #include <stdio.h> #include <stdlib.h> int main() { int a1=20, a2=345, a3=700, a4=22; int b1=56720, b2=9999, b3=20098, b4=2; int c1=233, c2=205, c3=1, c4=6666; int d1=34, d2=0, d3

java怎么定义一个二维数组?

java中使用 [][] 来定义二维数组 定义数组时也可同时初始化 下面是一些例子float[][] numthree; //定义一个float类型的2维数组numthree=new float[5][5]; //为它分配5行5列的空间大小numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1long[][] numfive=new long[5][]; //定义一个long类型的不规则数组numfive[0]=new long[5]; //为第1行分配5列//定义d

【学习笔记】【C语言】二维数组

1. 什么是二维数组 一个数组能表示一个班人的年龄,如果想表示很多班呢? 什么是二维数组?int ages[3][10]; 三个班,每个班10个人 相当于3行10列 相当于装着3个一维数组 二维数组是一个特殊的一维数组:它的元素是一维数组.例如int a[2][3]可以看作由一维数组a[0]和一维数组a[1]组成,这两个一维数组都包含了3个int类型的元素 2.二维数组的定义 二维数组定义的一般形式是:     类型说明符 数组名[常量表达式1][常量表达式2] 其中常量表达式1表示第一维下标的

数组(随机生成一维数组),二维数组的概念和题目设计(利用二维数组 :任意给定分数去计算科目和人均平均分)

1 //数组间的关系arr[]中的数字为几,[]内就有几个数 2 //{ }内的数是从0开始,如需要打印应从0开数 3 如{2,6,9,8,7}打印arr[4]就是7 4 #include <stdio.h> 5 #include <stdlib.h> 6 int main() 7 { 8 int arr[] = { 1,2,3,4,8}; 9 10 printf("%d\n", arr[3]); 11 12 system("pause");

Go二维数组

1. 二维数组定义(声明) package main import ( "fmt" ) func main() { //二维数组的演示案例 /* 0 0 0 0 0 0 0 0 1 0 0 0 0 2 0 3 0 0 0 0 0 0 0 0 */ //定义/声明二维数组 var arr [4][6]int //赋初值 arr[1][2] = 1 arr[2][1] = 2 arr[2][3] = 3 //遍历二维数组,按照要求输出图形 for i := 0; i < 4; i++

C#部分---二维数组、split分割;

二维数组定义方式: int[,] array = new int[3, 4]{ {1,2,3,4}, {3,4,5,6}, {5,6,7,8} };                  3表示,有三个一维数组                     4表示,每一个一维数组中有4个元素. split() 以***进行分割 分割开的内容需要放置在string类型的数组中,不需要给数组定义长度 string s = Console.ReadLine() ; string[] array = s.Spli