二维数组初始化规则

二维数组初始化规则二维数组初始化的形式为:  数据类型数组名[整常量表达式][整常量表达式]={初始化数据};  在{}中给出各数组元素的初值,各初值之间用逗号分开。把{}中的初值依次赋给各数组元素。  有如下几种初始化方式:  ⑴分行进行初始化  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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • LINQ to Object

    LINQ to Object

    2021年12月13日
    39
  • Matlab GUI上位机界面实现串口通信

    Matlab GUI上位机界面实现串口通信MatlabGUI因项目需求,不得不学的又杂又浅,趁着还没彻底忘记,写下来一些关键注意点。命令行窗口输入guide→BlankGUI→确定根据自己的需求,拖动选择对应的工具,如下图所示双击每一个对象,就可以弹出其检查器,修改其属性,字体大小、粗细、位置等,其中最关键的是两个,一是String,二是Tag,String是用来修改对象中的文字,Tag是所调用的代码名,这个要好的…

    2022年5月15日
    51
  • java环境_Java基础篇——环境配置

    java环境_Java基础篇——环境配置Java语言简介Java语言源自于Oracle-Sun公司,是当今最通用、最流行的软件开发语言之一。Java是简单的、面向对象的语言,最大的特性是与平台无关,有“writeonce,runeverywhere”的称号。而实现这一特性的关键,主要依赖于Java虚拟机(JavaVirtualMachine,简称JVM)。JVM是一台虚拟计算机,在不同的操作系统中(前提是该系统已经安装了Jav…

    2022年7月7日
    22
  • 911完整记录_入院记录书写

    911完整记录_入院记录书写本文记录了打PSU的全过程,意在体会数据库打PSU补丁的整个过程。1.OPatch替换为最新版本2.数据库软件应用19121551补丁程序3.数据库应用补丁4.验证PSU补丁是否应用成功1.OPatch替换为最新版本[oracle@DBusr2]$iduid=500(oracle)gid=500(oinstall)组=500(oinstall),501(dba)环境=…

    2022年10月15日
    5
  • JS除法不是默认向下取整的

    JS除法不是默认向下取整的JS除法不是默认向下取整的今天刷题的时候,用到了二分,但是测试的时候居然超时了。。。然后我检查了好久,原来是我用除法获取中间索引值的时候,没有对中间索引值进行取整处理,后来查资料之后才知道javaScript中的除法和现实中的除法一样,不会自动向下取整,太坑了!!!下次一定记住!!!console.log(10/3);console.log(Math.floor(10/3));//向下取整console.log(Math.ceil(10/3));//向上取整console.log(Mat

    2022年6月21日
    45
  • LODOP打印控件相关说明

    LODOP打印控件相关说明PRINT_INIT(strPrintTaskName);//初始化并指定打印任务名是strPrintTaskNamePREVIEW();//打印预览PRINT();//直接打印PRINTA();//选择打印机PRINT_SETUP();//打印维护**内容可也自动调整PRINT_DESIGN();//打印设计ADD_PRINT_HTM(0,0,”100%”,”100%”,document.documentElement.innerHTML);//打印整个页面/*intOrient:打印方

    2025年9月1日
    16

发表回复

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

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