二维数组初始化的形式有?

  数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };
  在{ }中给出各数组元素的初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。
  有如下几种初始化方式:
  ⑴ 分行进行初始化
  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}};

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

二维数组初始化的形式有?相关推荐

  1. C++二维数组初始化的形式

    数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 }: 在{ }中给出各数组元素的初值,各初值之间用逗号分开.把{ }中的初值依次赋给各数组元素. 有如下几种初始化方式: ⑴ 分行进 ...

  2. golang二维数组初始化

    golang二维数组初始化来看一下,有点特别 func main() {x := 2y := 4table := make([][]int, x)for i := range table {table ...

  3. c# 怎样从bitmap初始化image类_C#二维数组初始化概括(新手篇)

    群友反馈的一个问题: 运行报错: 这个主要是数组定义的有问题,二维数组初始化:如下这样 string[,] aaa = new string[10, 10]; 其次得确保data在截取Substrin ...

  4. C语言的二维数组初始化的几种方式介绍(私藏大数组初始化方式)

    C语言的二维数组初始化的几种方式介绍 1.直接赋值 2.循环对每个元素赋值 3.借用memset/memset_s初始化为0或-1 4.`数组所有元素初始化为相同值(用于大数组初始化贼方便)` 1.直 ...

  5. [Python] 二维数组初始化实践

    背景 参考博客Python二维数组初始化问题_NobiShinnosuke的博客-CSDN博客_python 二维数组初始化,文中提到正确的初始化方式是a = [[0 for j in range(n ...

  6. c++ fill 二维数组初始化_C++如何给二维数组初始化

    C++给二维数组初始化的方法:首先定义两个整型变量,并给二维数组初始化不同的数值:然后用二重循环,输出数组中的各个数值:最后用大括号括起来的数字直接赋值. 本文操作环境:Windows7系统,Dev- ...

  7. java二维数组初始化值_Java二维数组初始化的方法

    对于一个新使用的工具,我们会进行初步的初始化工具,目的是为了加上一些使用的配置.在学过了一维数组后,那么二维数组是加了一层维度的一维数组.在初始化方面,二维数组有三种方法,相信很多人只是掌握了其中的一 ...

  8. c语言二维数组初始化_6.2 C语言二维数组

    01二维数组的定义 1.一般形式 类型说明符 数组名[常量表达式][常量表达式] 2.例子 int a[10][6],b[3][4]; 3.用矩阵形式表示二维数组,是逻辑上的概念,能形象地表示出行列关 ...

  9. 二维数组初始化_0基础学习C语言第七章:数组(2)

    C语言 多维数组 C 语言支持多维数组.多维数组声明的一般形式如下: type name[size1][size2]...[sizeN]; 例如,下面的声明创建了一个三维 5 . 10 . 4 整型数 ...

最新文章

  1. ubuntu 客户端ssh连接服务器速度缓慢
  2. rust房子 如何拆除_小产权房“依法拆除”?中央新文件透露“1个新信号”
  3. 数组、链表、Hash(转)
  4. 成功解决:连接sql server时插入数据库内容为乱码,并且输出也为乱码
  5. django restframework 下载文件_【技术选型】Django还是Flask?这是个问题!
  6. 从零写一个编译器(八):语义分析之构造符号表
  7. 北航和哈佛研发软体机器人,抓住各类物体!
  8. 使用Java 8.0进行类型安全的依赖项注入
  9. #动态规划 0-1背包问题空间复杂度优化
  10. ios- 自定义cell总结
  11. C++ 模板实现—双向链表: doubly linked list
  12. 安装ubuntu20.04无法连接wifi问题
  13. 第五章--第三节:设计复用模式(pattern)
  14. 能勾起你美好回忆的英文经典情歌二十首!绝对经典!
  15. ADD failed: file not found in build context or excluded by .dockerignore: stat
  16. 计算机毕业设计开题报告遇到问题及解决办法(建议收藏)
  17. Cloudera Manager集群(CDH6.2.0.1)完整搭建指南
  18. 多附件添加功能的实现
  19. 国内CRM系统排行统计
  20. 用计算机弹惊雷怎么弹,《惊雷》《飞鸟和蝉》20分钟教你弹!

热门文章

  1. python 获取子目录下的所有文件的路径
  2. Hibernate中的Entity类之间的继承关系之一MappedSuperclass
  3. 嵌入式软件设计第8次实验报告-140201235-陈宇
  4. druid之监控设置及问题小记
  5. Big Data應用:以玩家意見之數據分析來探討何謂健康型線上遊戲(上)
  6. 实模式与保护模式详解三:寻址方式
  7. 关闭PdfReader右侧工具栏的方法
  8. 【网络编程】——connect函数遇见EINTR的处理
  9. tar命令语法(-[cxt],-[zj],-v,-f)
  10. 微信在公众号增开了新广告位 这次是在图文消息头部