栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言基础-07 二维数组

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言基础-07 二维数组

目录

一、二维数组

1.定义二维数组

2.二维数组的存储

3.引用二维数组元素

4.二维数组的初始化

二、二维数组程序举例

三、多维数组


一、二维数组

1.定义二维数组

表示方法:

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

  •  ​float a[3][4];   //定义a为3x4(3行4列)的数组,数组第一维有3个元素,第二维有4个元素
  •  float a[3,4];   //在一对方括号内不能写两个下标
  • 二维数组可被看作一种特殊的一维数组:它的元素又是一个一维数组 

2.二维数组的存储

C语言中,二维数组中元素排列的顺序是按行存放的。

float a[3][4]; //float占4个字节

3.引用二维数组元素

数组名[下标][下标]

  • “下标”可以是整型常量或整型表达式
  • 数组元素可以出现在表达式中,也可以被赋值,如:b[1][2]=a[2][3]/2;
  • 在引用数组元素时,下标值应在已定义的数组大小的范围内

4.二维数组的初始化

可以用“初始化列表”对二维数组初始化

(1)分行给二维数组赋初值。(最清楚直观)

int a[3][4]={{1,2,3,4},{5,6,7,8},{4,3,7,8}};

(2)可以将所有数据写在一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值

int a[3][4]={1,2,3,4,4,5,6,7,8,6,12,,14};

(3)可以对部分元素赋初值

int a[3][4]={{1},{},{9}};

 注:没有赋值的数组元素,系统自动填补:数组类型为int,数组元素为0;数组类型为float,数组元素为0.0;数组类型为char,数组元素为""

(4)如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第1维的长度可以不指定,但第2维的长度不能省略;

 在定义时也可以只对部分元素赋初值而省略第1维的长度,但应分行赋初值

int  a[ ][4]={{0,0,3},{ },{0,10}};

二、二维数组程序举例

【例1】:讲义二维数组行和列的元素互换,存到另一个二维数组中

代码示例(如下):

#include
int main(){
	int a[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j;
    //输出a数组
	printf("数组a为:n");
	for(i=0;i<2;i++){
		for(j=0;j<3;j++){
			printf("%d  ",a[i][j]);
		}
		printf("n");
	}
	//行和列的元素互换 
	for(i=0;i<2;i++){
		for(j=0;j<3;j++){
			b[j][i]=a[i][j];
		}
	}
	//输出b数组
	printf("数组b为:n");
	for(i=0;i<3;i++){
		for(j=0;j<2;j++){
			printf("%d  ",b[i][j]);	
		}
		printf("n");
	}
} 

三、多维数组

1.定义多维数组

  • float a[2][3][4]; //定义三维数组a,它有2页,3行,4列

2.排列顺序

  • float a[2][3][4];在内存中的排列顺序

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/879092.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号