个人网站建设开题报告,深圳网站建设公司招聘电话销售,网络规划设计师学历低,福建建设信息网站目录
一.二维数组简介二.定义二维数组并初始化 1.定义二维数组2.初始化二维数组 三.访问二维数组四.修改二维数组五.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 C 语言基础入门 一.二维数组简介
在 C 语言中#xff0c;一组数据的集合称为数组 Array #…目录
一.二维数组简介二.定义二维数组并初始化 1.定义二维数组2.初始化二维数组 三.访问二维数组四.修改二维数组五.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 C 语言基础入门 一.二维数组简介
在 C 语言中一组数据的集合称为数组 Array 也称为一维数组比如字符串 char 实际上也算是数组字符串由多个字符构成
而二维数组和一维数组类似简单理解就是二维数组由多个一维数组构成语法如下
type arrayName [ x ][ y ];
//x的取值范围0 index x 下标重0开始最大值为x-1否则会产生下标越界
//y的取值范围0 index y 下标重0开始最大值为y-1否则会产生下标越界因此数组中的每个元素是使用形式为 a[ i , j ] 的元素名称来标识的其中 a 是数组名称i 和 j 是唯一标识 a 中每个元素的下标。
二维数组中的每一个数据叫做数组元素 Element 二维数组中的每个元素都有一个序号这个序号由 x 和 y 组成即横向坐标和纵向坐标都是从 0 开始例如a[0][6] 表示第1行第7个元素a[3][1] 表示第 4 行第2个元素
举个例子定义一个这样的二维数组
int a[3][4]{{1,3,5,7},{9,11,13,15},{17,19,21,23}};[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vho32HiP-1629616389974)(https://www.codersrc.com/wp-content/uploads/2021/06/e4da3b7fbbce234.png “C语言 二维数组定义和使用-猿说编程”)]
二维数组本质就是一个一维数组。如果把二维数组的每一行看成一个整体即看成一个数组中的一个元素那么整个二维数组就是一个一维数组。
二.定义二维数组并初始化
1.定义二维数组
要想把数据放入内存必须先要分配内存空间。例如放入4个一维数组8个整数即 4 行 8 列
//整形数组
int a[4][8];//由4个一维数组构成索引值03每个一维数组中有8个整形变量索引值07
//浮点数数组
float a[4][8];//由4个一维数组构成索引值03每个一维数组中有8个浮点数变量索引值07
//浮点数数组
double a[4][8];//由4个一维数组构成索引值03每个一维数组中有8个浮点数变量索引值07
//字符串
char a[4][8];//由4个一维数组构成索引值03每个一维数组中有8个字符变量索引值072.初始化二维数组
A.在定义二维数组的同时赋值
多维数组可以通过在括号内为每行指定值来进行初始化。下面是一个带有 3 行 4 列的数组。
int a[3][4] {{0, 1, 2, 3} , /* 初始化索引号为 0 的行 */{4, 5, 6, 7} , /* 初始化索引号为 1 的行 */{8, 9, 10, 11} /* 初始化索引号为 2 的行 */
};内部嵌套的括号是可选的下面的初始化与上面是等同的
int a[3][4] {0,1,2,3,4,5,6,7,8,9,10,11};B.根据二维数组下标对数组元素赋值
在通过下标修改二维数组的值时需要注意 数组下标越界 的问题
a[4][2]; //定义一个二维数组
a[0][0]10;
a[0][1]20;
a[1][0]30;
a[1][1]40;
a[2][0]50;
a[2][1]60;
a[3][0]70;
a[3][1]80;
//a[0][3]20; //错误写法下标越界
//a[0][2]20; //错误写法下标越界
//a[4][2]20; //错误写法下标越界
等价
a[4][2] {10,20,30,40,50,60,70,80}
等价
a[4][2] {{10,20},{30,40},{50,60},{70,80}
}C.只给部分元素赋初值,当{ }中值的个数少于元素个数时只给前面部分元素赋值后面的元素默认为0值
//案例一
int a[3][4] {{1},{2},{3}};
等价
int a[3][4] {{1,0,0,0},{2,0,0,0},{3,0,0,0}};
//案例二
int a[3][4] {{1}};
等价
int a[3][4] {{1,0,0,0},{0,0,0,0},{0,0,0,0}};当赋值的元素少于数组总体元素的时候剩余的元素自动初始化为 0
对于short、int、long就是整数0
对于char就是字符 \0
对于float、double就是小数0.0。三.访问二维数组
**数组中的每个元素都有一个序号这个序号从 0 开始称为下标 index 例如a[0][2] 表示第 1 行第 3 个元素a[3][5] 表示第 4 行第 6 个元素。所以我们可以直接通过下标访问数组中元素的值**例如
/******************************************************************************************/
//Author:猿说编程
//Blog(个人博客地址): www.codersrc.com
//File:C语言教程 - C语言 二维数组定义和使用
//Time:2021/06/12 08:00
//Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累
/******************************************************************************************/#include stdio.h
int main(void) {int a[3][4] {{1,2,3,4},{2,4,6,8},{3,6,9,0}};for (int i 0 ;i3;i) {for(int j 0;j4;j)printf(a[%d][%d] %d ,i,j,a[i][j]);//根据下标查询//换行printf(\n);}return 0;
}
/*
输出
a[0][0] 1 a[0][1] 2 a[0][2] 3 a[0][3] 4
a[1][0] 2 a[1][1] 4 a[1][2] 6 a[1][3] 8
a[2][0] 3 a[2][1] 6 a[2][2] 9 a[2][3] 0
*/四.修改二维数组
**我们既然可以通过数组下标访问数组的值那么同样也可以使用下标修改数组的值**例如
/******************************************************************************************/
//Author:猿说编程
//Blog(个人博客地址): www.codersrc.com
//File:C语言教程 - C语言 二维数组定义和使用
//Time:2021/06/12 08:00
//Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累
/******************************************************************************************/#include stdio.h
int main(void) {int a[3][4] {{1,2,3,4},{2,4,6,8},{3,6,9,0}};for (int i 0 ;i3;i) {for(int j 0;j4;j)printf(a[%d][%d] %d ,i,j,a[i][j]);//根据下标查询//换行printf(\n);}printf(-------------------------------------------\n);//修改数组的值for (int i 0 ;i3;i) {for(int j 0;j4;j)a[i][j] * 10 ;//等价 a[i][j] a[i][j] * 10//换行printf(\n);}//查询修改后数组的值for (int i 0 ;i3;i) {for(int j 0;j4;j)printf(a[%d][%d] %d ,i,j,a[i][j]);//根据下标查询//换行printf(\n);}return 0;
}
/*
输出
a[0][0] 1 a[0][1] 2 a[0][2] 3 a[0][3] 4
a[1][0] 2 a[1][1] 4 a[1][2] 6 a[1][3] 8
a[2][0] 3 a[2][1] 6 a[2][2] 9 a[2][3] 0
-------------------------------------------
a[0][0] 10 a[0][1] 20 a[0][2] 30 a[0][3] 40
a[1][0] 20 a[1][1] 40 a[1][2] 60 a[1][3] 80
a[2][0] 30 a[2][1] 60 a[2][2] 90 a[2][3] 0
*/五.猜你喜欢
安装 Visual Studio安装 Visual Studio 插件 Visual AssistVisual Studio 2008 卸载Visual Studio 2003/2015 卸载C 语言格式控制符/占位符C 语言逻辑运算符C 语言三目运算符C 语言逗号表达式C 语言 sizeof 和 strlen 函数区别C 语言 strcpy 和 strcpy_s 函数区别C 语言 memcpy 和 memcpy_s 区别C 语言 数组定义和使用C 语言 数组遍历C 语言 数组排序 – 冒泡法排序C 语言 数组排序 – 选择法排序C 语言 数组排序 – 插入法排序C 语言 数组排序 – 快速法排序C 语言 数组下标越界C 语言 数组内存溢出C 语言 数组下标越界和内存溢出区别C 语言 二维数组定义和使用
未经允许不得转载猿说编程 » C 语言 二维数组定义和使用