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

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

C++二维数组初始化的形式相关推荐

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

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

  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. mysql效率优化_MySQL性能优化的最佳12条经验
  2. HashedWheelTimer时间轮定时任务原理分析
  3. 多线程和MsgWaitForMultipleObjects
  4. scala把序列分解成子集(group by,partition)
  5. Nginx笔记-处女篇
  6. linux音量模块,Linux下的音量控制器alsamixer
  7. 热血致敬!曾影响几代科学巨匠的传奇经典,至今仍无人能超越!
  8. linux下使用TC模拟弱网络环境
  9. string最大容量_string初步使用
  10. spark反压速率计算
  11. 有一定基础学python_有一定编程基础,有什么好的自学python的教程吗?
  12. esp8266 eeprom_ESP8266_08基于flash的数据掉电保护
  13. 腾讯QQ2010安装时提示“C:\windows\Installer\QQ2010.msi时发生网络错误”的解决方 ......
  14. Android之ViewFlipper使用详解
  15. Python爬取斗鱼弹幕——多房间同时抓取实现(一)
  16. SEO基础知识简介(一)
  17. 支付宝AR抢红包?前端轻松就破解~
  18. 云计算领域常见的一些专业术语、专有名词总结(一)
  19. 中兴力维动环监控_高新兴FSU中兴力维FSU艾默生FSU收购
  20. puzzle(1411)《文字》拼单词、一字不落、汉字魔法

热门文章

  1. linux挂载cifs磁盘_CentOS7.4_1708挂载CIFS报错
  2. 我在达内学安卓-基于ArrayAdapter创建单一对象列表方式创建联系人列表!
  3. png选项 无交错 交错_什么是交错内存?
  4. ucb计算机硕士专业,美国CS、CE、ECE硕士项目你能区分开吗?
  5. 可以一键生成crud的php框架,关于Laravel+vue+admin一键生成CRUD代码
  6. 高校选课系统设计(一)
  7. 【云原生】Kubernetes PDB(Pod Disruption Budget)介绍与简单使用
  8. 前程无忧引入最新版情境领导SLX课程
  9. tp ajax 搜索分页
  10. 上架被拒后如何再重新上传