精华内容
下载资源
问答
  • C语言的二维数组初始化几种方式介绍1、直接赋值2、循环对每个元素赋值3、借用memset/memset_s初始化为0或-14、`数组所有元素初始化为相同值` 1、直接赋值 适合数组元素较少的,各元素的值可以不同。 int[2][3] arr...

    1、直接赋值

    适合数组元素较少的,各元素的值可以不同。

    int arr1[2][3] = { {5, 2, 4}, {10, 2, 1} };
    int arr1[2][3] = {0}; /* 所有元素都初始化为0 */
    int arr1[2][3] = {1}; /* 只有arr1[0][0]为1,其他所有元素都初始化为0 */
    

    2、循环对每个元素赋值

    对数组的每个元素进行赋值,各元素的值可以不同。就是效率比较低。

    int arr2[2][3];
    int i, j;
    for (i = 0; i < 2; i++) {
        for (j = 0; j < 3; j++) {
            arr2[i][j] = 2; /* 本例为了简单都赋值成相同值 */
        }
    }
    

    3、借用memset/memset_s初始化为0或-1

    注意:memset/memset_s只能将变量初始化为 0或-1,其他值不成立。 参考百度百科 的常见错误的第一条。
    这点很多人都没注意,容易犯错。

    int arr3[10][10];
    memset(arr3, 0, sizeof(arr3); /* 正常,arr3中的每个元素都为0 */
    memset(arr3, -1, sizeof(arr3); /* 正常,arr3中的每个元素都为-1 */
    memset(arr3, 2, sizeof(arr3); /* 异常,arr3中的每个元素都为异常值33686018 */
    

    在这里插入图片描述

    4、数组所有元素初始化为相同值(用于大数组初始化贼方便)

    只要值为相同的,特别是数组元素比较多的情况,推荐用此方法:
    { [0 … LENA-1][0 … LENB-1] = num };
    这种初始化方法比较少见,但特别省事,所以共享给大家。

    #define ARR_LEN 100
    int arr4[ARR_LEN][ARR_LEN] = { [0 ... (ARR_LEN-1)][0 ... (ARR_LEN-1)] = 10 }; /* 100*100个元素都初始化为10 */
    

    在这里插入图片描述

    展开全文
  • 二维数组初始化规则

    万次阅读 多人点赞 2018-03-27 14:24:16
    二维数组初始化的形式为: 数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 }; 在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。 如下几种初始化方式: ...

    二维数组初始化的形式为:

      数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };
      在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。

      有如下几种初始化方式:


      ⑴ 分行进行初始化
      int a[2][3]={{1,2,3},{4,5,6}};
      在{ }内部再用{ }把各行分开,第一对{ }中的初值1,2,3是0行的3个元素的初值。第二对{ }中的初值4,5,6是1行的3个元素的初值。相当于执   行如下语句:
      int a[2][3];
      a[0][0]=1;a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;

      注意,初始化的数据个数不能超过数组元素的个数,否则出错。


      ⑵ 不分行的初始化
      int a[2][3]={ 1,2,3,4,5,6};

      把{ }中的数据依次赋给a数组各元素(按行赋值)。即a[0][0]=1; a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;


      ⑶ 为部分数组元素初始化
      static int a[2][3]={{1,2},{4}};

      第一行只有2个初值,按顺序分别赋给a[0][0]和a[0][1];第二行的初值4赋给a[1][0]。由于存储类型是static,故其它数组元素的初值为0

           注:某         些C语言系统(如:Turbo C)中,存储类型不是static的变量或数组的初值也是0。

      static int a[2][3]={ 1,2};
      只有2个初值,即a[0][0]=1,a[0][1]=2,其余数组元素的初值均为0。
      ⑷ 可以省略第一维的定义,但不能省略第二维的定义。系统根据初始化的数据个数和第2维的长度可以确定第一维的长度。
      int a[ ][3]={ 1,2,3,4,5,6};
      a数组的第一维的定义被省略,初始化数据共6个,第二维的长度为3,即每行3个数,所以a数组的第一维是2。
      一般,省略第一维的定义时,第一维的大小按如下规则确定:

      初值个数能被第二维整除,所得的商就是第一维的大小;若不能整除,则第一维的大小为商再加1。例如,int a[ ][3]={ 1,2,3,4};

            等价于:int a[2][3]={ 1,2,3,4};

      若分行初始化,也可以省略第一维的定义。下列的数组定义中有两对{ },已经表示a数组有两行。
      static int a[ ][3]={{1,2},{4}};
    展开全文
  • 二维数组初始化的形式

    千次阅读 2017-07-14 16:30:51
    二维数组初始化的形式
    二维数组初始化的形式有?


      数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };
      在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。
      有如下几种初始化方式:
      ⑴ 分行进行初始化
      int a[2][3]={{1,2,3},{4,5,6}};
      在{ }内部再用{ }把各行分开,第一对{ }中的初值1,2,3是0行的3个元素的初值。第二对{ }中的初值4,5,6是1行的3个元素的初值。相当于执行如下语句:
      int a[2][3];
      a[0][0]=1;a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;
      注意,初始化的数据个数不能超过数组元素的个数,否则出错。


      ⑵ 不分行的初始化
      int a[2][3]={ 1,2,3,4,5,6};
      把{ }中的数据依次赋给a数组各元素(按行赋值)。即a[0][0]=1; a[0][1]=2;a[0][2]=3;a[1][0]=4;a[1][1]=5;a[1][2]=6;


      ⑶ 为部分数组元素初始化
      static int a[2][3]={{1,2},{4}};
      第一行只有2个初值,按顺序分别赋给a[0][0]和a[0][1];第二行的初值4赋给a[1][0]。由于存储类型是static,故其它数组元素的初值为0。注:某些C语言系统(如:Turbo C)中,存储类型不是static的变量或数组的初值也是0。
      static int a[2][3]={ 1,2};
      只有2个初值,即a[0][0]=1,a[0][1]=2,其余数组元素的初值均为0。


      ⑷ 可以省略第一维的定义,但不能省略第二维的定义。系统根据初始化的数据个数和第2维的长度可以确定第一维的长度。
      int a[ ][3]={ 1,2,3,4,5,6};
      a数组的第一维的定义被省略,初始化数据共6个,第二维的长度为3,即每行3个数,所以a数组的第一维是2。
      一般,省略第一维的定义时,第一维的大小按如下规则确定:
      初值个数能被第二维整除,所得的商就是第一维的大小;若不能整除,则第一维的大小为商再加1。例如,int a[ ][3]={ 1,2,3,4};等价于:int a[2][3]={ 1,2,3,4};
      若分行初始化,也可以省略第一维的定义。下列的数组定义中有两对{ },已经表示a数组有两行。
      static int a[ ][3]={{1,2},{4}};




    特别注意:在初始化二维数组的时候一定要注意,别不小心把应该用的花括号写成小括号了。
    展开全文
  • 一维数组,二维数组初始化

    千次阅读 2017-03-26 20:51:02
    1 static int a[10]={0,1,2,3,4,5,6,7,8,9};...经过上面的定义和初始化后,a[0]=0,a[1]=1,…,a[9]=9。 (2)初始化时可以只对一部分元素赋初值。例如: 1 static int a[10]=

    (1)在定义数组时对数组元素赋以初值。如:

    1



    2


    3
    static  int  a[10]={0,1,2,3,4,5,6,7,8,9};//一维数组


    static int a[3][3]={0,1,2}{3,4,5}{6,7,8};//二维数组

      int a[2][3]={ 1,2,3,4,5,6};// 不分行的初始化
     

    (2)初始化时可以只对一部分元素赋初值。例如:

    1



    2
    static  int  a[10]={0,1,2,3,4};//一维数组


    static int a[2][3]={{1,2},{4}};//二维数组  
    注意:
    第一行只有2个初值,按顺序分别赋给a[0][0]和a[0][1];第二行的初值4赋给a[1][0]。由于存储类型是static,故其它数组元素的初值为0。注:某些C语言系统(如:Turbo C)中,存储类型不是static的变量或数组的初值也是0。  
    static int a[2][3]={ 1,2};
    只有2个初值,即a[0][0]=1,a[0][1]=2,其余数组元素的初值均为0。


    (3)如果想使一个数组的元素值全部为0,可以用下面的方法:




    1


    2


    3

    一维数组:
    static int a[10]={0,0,0,0,0,0,0,0,0,0};


    int a[10]={0};

    static int a[10];
    //注意这个 static,在int前加 static该变量就被定义成为一个静态全局变量,未经初始化的静态全局变量会被程序自动初始化为0(在函数体内声明的自动变量的值是随机的,除非它被显式初始化,而在函数体外被声明的自动变量也会被初始化为0);



    二维数组:
    static int a[10][10]={0};



    (4)如果想使一个数组的元素值全部为1,或者某个特定值,只能通过循环一个一个赋值,有一个memset函数可以实现,但它的 的内部实现也是循环赋值。

    注意:

    static int a[10]={1};这种只是给啊a[0]赋值为1了;

            a[10]=1;只是给a[10]这个位置存了一个1;



    展开全文
  • C++二维数组初始化的形式

    万次阅读 2019-08-26 09:36:23
    如下几种初始化方式: ⑴ 分行进行初始化 int a[2][3]={{1,2,3},{4,5,6}}; 在{ }内部再用{ }把各行分开,第一对{ }中的初值1,2,3是0行的3个元素的初值。第对{ }中的初值4,5,6是1行的...
  • 二维数组初始化

    2015-10-03 17:06:34
    二维数组初始化的形式为:  数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };  在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。  如下几种初始化...
  • 下面简单了解一下二维数组,包括数组的声明和初始化。 创建二维数组 在 Java 中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。Java 并不直接支持二维数组,...
  • 二维数组初始化必须在声明的时候进行。否则会报错。 比如,你应该在声明它的时候就立即赋值: unsigned char bitmap[16][17]={{0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0},  {0,0,0,0,0,0,0,0,0,0,0,0,0,255...
  • java二维数组种初始化方法

    万次阅读 2019-04-25 00:06:39
    二维数组初始化的两方式 看了很多网上的博客,大部分都说是三种初始化的方式,我这里将其归为两不同想法的小伙伴可以留言讨论。 什么是二维数组: 数组是一个容器,用来存储数据的。现在数组中存...
  • 维数组初始化方法 方式一:静态初始化 数据类型[] 数组名 = {元素1,元素2,元素3...};//必须在一个语句中完成,不能分开两个语句写 举例: 定义存储1,2,3,4,5整数的数组容器 int[] arr = {1,2,3,...
  • js二维数组定义和初始化的三方法

    万次阅读 2017-06-13 10:30:18
    js二维数组定义和初始化的三方法
  • C++二维数组讲解、二维数组的声明和初始化 上一节 下一节返回目录 编辑/纠错/意见 关注(100) 更新:2012-05-08 分享到4 我们知道,一维空间是一条线,数学中用一条数轴来表达;二维空间是一个平面,数学中用...
  • 二维数组初始化方式总结

    千次阅读 2015-03-03 16:35:18
    近日阅读别人的代码,发现自己在二维数组初始化方面存在盲点,遂总结一下,希望其他看到的人能得到一些收获。 一、初始化和赋值的区别: 初始化即在定义二维数组时就赋值,如:int a[2][3]={1,2,3,4,5,6}; 而对...
  • [C]二维数组初始化规则

    万次阅读 多人点赞 2018-10-04 23:12:20
    二维数组初始化形式如下: int/char arr [100][200]  数据类型 数组名 [整常量表达式][整常量表达式] = {初始化数据}; 在{}中给出各组元素的初值,各初值之间用逗号分开。把{}中的初值依次赋给各数组元素。 ...
  • java初始化二维数组的三方式

    万次阅读 多人点赞 2017-11-15 11:23:24
    //第一方式: int a[][]={{1,2,3},{4,5,6}}; //第二方式; int[][] ints = new int[4][2]; ints[i][j] =__;... //第三方式:第二维的长度可以动态申请 int[][] arr3 = new int[5][];//五
  • js二维数组定义和初始化的三方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","...
  • 二维数组及遍历

    万次阅读 多人点赞 2019-09-12 17:41:23
    二维数组及遍历 概念 初始化方式详解 遍历 我在前面的博文详细说过一维数组的概念初始化方式及遍历,...二维数组在定义上和一维数组一样,动态初始化和静态初始化二维数组的动态初始化方式 数据类型[][]数组...
  • 二维数组动态初始化 动态初始化格式: 数据类型[][] 变量名 = new 数据类型[m][n]; m表示这个二维数组,可以存放多少个一维数组 n表示每一个一维数组,可以存放多少个元素 示例代码: package com.itheima.demo; ...
  • C#中一维数组与二维数组遍历方式: string[] arr =new string[4] { "first", "second", "third", "fourth" }; string[,] arr2 = { { "first", "second&...
  • ...方法一:直接定义并且初始化,这种遇到数量少的情况可以用 ...方法二:未知长度的二维数组 ... //这里将变量初始化,我这边统一初始化为空,后面...这种情况适用于已知个数组,把他们组合成一个二维数组情况
  • 试了好几种都不行,请大佬赐教![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/11.gif) 总是输了三个字符后,按回车没反应。。![图片]...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,736
精华内容 22,694
关键字:

二维数组的初始化有几种