二维数组初始化规则

二维数组初始化规则二维数组初始化的形式为:  数据类型数组名[整常量表达式][整常量表达式]={初始化数据};  在{}中给出各数组元素的初值,各初值之间用逗号分开。把{}中的初值依次赋给各数组元素。  有如下几种初始化方式:  ⑴分行进行初始化  inta[2][3]={{1,2,3},{4,5,6}};  在{}内部再用{}把各行分开,第一对{}中的初值1,2,3是0行的3个元素的初值。第…

大家好,又见面了,我是你们的朋友全栈君。

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

  数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };


  在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。

  有如下几种初始化方式:


  ⑴ 分行进行初始化


  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}};

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161054.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言的fprintf函数的用法,fprintf 和fscanf 函数

    c语言的fprintf函数的用法,fprintf 和fscanf 函数C语言的fprintf和fscanf函数fprintf()函数用于将一组字符写入文件。它将格式化的输出发送到流。fprintf()函数的语法如下:intfprintf(FILE*stream,constchar*format[,argument,…])示例:创建一个源文件:fprintf-write-file.c,其代码如下-#includemain(){FILE…

    2022年10月18日
    2
  • 程序员法则 – 第二章[通俗易懂]

    程序员法则 – 第二章[通俗易懂]程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的。  /*  */  燥热的8月即将过去,而我也坐上了重庆开往西安的列车。抱上我心爱的笔记本,载着梦想,7小时后,我就能到达那个我要呆上我整整四年的城市了。  我放好行李,把笔记本放在身边,挥手和来给我送别的母亲道别。我微微闭上眼睛,小睡7小时吧,我想着。我是属于那种带点自闭的性格,别人不找我说话,我绝对不会主动搭讪,但

    2022年10月6日
    2
  • SSL连接建立过程分析(1)

    SSL连接建立过程分析(1)

    2021年12月8日
    49
  • android.app.Fragment$InstantiationException的原因分析

    android.app.Fragment$InstantiationException的原因分析每个Fragment必须要有一个无参构造方法,这样该Fragment在Activity恢复状态的时候才可以被实例化。强烈建议,Fragment的子类不要有其他含参构造方法,因为这些构造方法在Fragment重新实例化时不会被调用。取而代之的方式是,通过setArguments(Bundle)设置参数,然后通过getArguments获得参数。

    2022年7月16日
    17
  • java random nextint_java Random.nextInt()方法的具体使用

    java random nextint_java Random.nextInt()方法的具体使用licintnextIn intn 该方法的作用是生成一个随机的 int 值 该值介于 0 n 的区间 也就是 0 到 n 之间的随机 int 值 包含 0 而不包含 n 直接上代码 packageorg xiaowu random demo importjava util Random importorg junit Test publicclassR Testpublicv

    2025年10月13日
    3
  • git 清除所有untracked file

    git 清除所有untracked file

    2022年2月8日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号