知方号

知方号

C语言的数组第二章二维数组与数组越界<数组的越界访问>

C语言的数组第二章二维数组与数组越界

文章目录 二:二维数组的创建和初始化2.1二维数组的创建2.2二维数组的初始化2.4二维数组在内存中的储存三.数组越界

二:二维数组的创建和初始化 2.1二维数组的创建 2.2二维数组的初始化 2.4二维数组在内存中的储存 三.数组越界

上一章学习了一维数组的创建和初始化,二维数组和一维数组本质上是差不多的,所以掌握一维数组就能较容易的学会二维数组,那么下面我们一起进入对二维数组的学习吧。

2.1.二维数组的创建

//数组的创建int arr[3][4];char arr[3][4];double arr[3][4];//[]中的数字代表这个二维数组是3行4列的

2.2.二维数组的初始化

#includeint main(){int arr[3][4]={1,2,3,4};//因为这个二维数组是三行四列的,从大括号内第一个元素开始排列,不足的用0代替return 0;}

我们可以得到: 如果我们想要将上面这个二维数组大括号内的元素排列在的每行前两个位置上:

#includeint main(){int arr2[3][4]={{1,2},{3,4}};return 0;}

需要注意的是:二维数组如果有初始化,行可以省略,但是列不可以省略。 如:

#includeint main(){int arr3[][4]={{1,2},{3,4}};//在行省略的情况下,二维数组会根据大括号内列的排列判断出行数return 0;}

那么我们有个问题,那就是为什么行可以省略,列不可以省略呢? 我们可以把二维数组看成由多个一维数组组成的,我们只有在确定每个一维数组存放多少个元素才能确定二维数组。假设我们省略列,那么操作系统就不知道每个一维数组分配多少个元素,从而造成二维数组的混乱。所以只有确定了列数,操作系统才能正确分配出二维数组。

2.3二维数组的使用 二维数组的使用也是通过下标的方式实现的。

#includeint main(){int arr4[][2]={1,2,3,4,5,6,7,8,9};//根据二维数组的定义可得,该二维数组是五行两列的int i=0;for(i=0;i

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。