如何初始化一个二维数组

Python016

如何初始化一个二维数组,第1张

若声明为全局量,例如放在 main() {} 函数以前,则编译时,自动初始化为全0。一般来书,二维数组初始化的形式为: 数据类型 数组名[整常量表达式][ 整常量表达式]={ 初始化数据 };在{ }中给出各数组元素初值,各初值之间用逗号分开。把{ }中的初值依次赋给各数组元素。有如下几种初始化方式:⑴ 分行进行初始化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]=1a[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。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}}

数组是一个由 固定长度 特定类型元素 组成的序列,一个数组可以由零个或多个元素组成。 数组是值类型

数组的每个元素都可以通过索引下标来访问,索引下标的范围是从0开始到数组长度减1的位置,内置函数 len() 可以返回数组中元素的个数。

2.类型的打印,结果的第二种打印方式

3.对元素的修改或者赋值

4.判断数组是否相等:长度、类型

4.数组的地址:连续存储的空间

5.数组的赋值、地址、取值

6.数组的默认值

7.数组的初始化

8.数组的逆置

9.求数组的最大值、最小值、平均值

10.对数组字符串进行连接

11.冒泡排序法的实现

12.数组做函数的参数

13.二维数组:赋值和地址

14.二维数组:打印和输出

15. 指针数组,每一个元素都是地址

17.数组的内存分配

二维数组初始化的基本格式:

(1)int a[3][4]={{2,6,3,9},{5,7,9,8},{1,6,4,2}}//a数组元素完全被初始化

(2)int a[3][4]={2,6,3,9,5,7,9,8,1,6,4,2}//与(1)类似,全部被初始化

(3)int a[][4]={{1,2,3,4},{5,6,7,8}}//初始化了全部数组元素,隐含了行数

(4)int a[3][3]={{6},{1,8},{1,2,3}}//给出部分数值元素的值

二维数组

二维数组又称为矩阵,本质上是以数组作为数组元素的数组。

基本介绍

定义

类型说明符 数组名[常量表达式][常量表达式]

例如:

float a[3][4],b[5][10]

定义a为3*4(3行4列)的数组,b为5*10(5行10列)的数组。注意,不能写成

float a[3,4],b[5,10]

概述

二维数组A[m][n],这是一个m行,n列的二维数组。设a[p][q]为A的第一个元素,即二维数组的行下标从p到m,列下标从q到n,按“行优先顺序”存储时则元素a[i][j]的地址计算为:

LOC(a[i][j]) = LOC(a[p][q]) + ((i − p) * n + (j − q)) * t

按“列优先顺序”存储时,地址计算为:

LOC(a[i][j]) = LOC(a[p][q]) + ((j − q) * m + (i − p)) * t

存放该数组至少需要的单元数为(m-p+1) * (n-q+1) * t 个字节

二维数组又称为矩阵,行列数相等的矩阵称变方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵的所有非零元素都集中在主对角线上.