admin管理员组

文章数量:1794759

(数组二)c语言新手玩家还感到迷茫吗?学习这篇文章轻松玩转数组

前言:相信大家已经掌握了数组一文章中的内容,今天接着由小编向大家零基础教学二维数组的知识点,废话不多说,开始今天的教学。

6二维数组的创建

6.1二维数组的概念

数组的元素都是内置类型的,一堆元素作为数组元素就是一维数组,那么把一维数组作为数组元素那么就是二维元素。二维数组作为数组元素那么就是多维维数组,由此递推。

6.2基本语法

type arr_name [ 常量值1][常量值2 ] 例如:int arr[2 ][3 ]; int:元素类型 arr:数组名称 [2]:是数组行数(数组有2行) [3]:是数组列数(数组有3列)

7二维数组的初始化

7.1二维数组有三种不同的初始化

不完全初始化 例子:int arr 1[2][3]={1,2,3,4}

 完全初始化   例子:int arr 1[2][3]={1,2,3,4,5,6}

按照行初始化 例子:int arr 1[2][3]=={{1,2,3},{2,3,4}} 

7.2特别注意的点

二维数组中我们可以省略行的大小,但是不能省略列的大小,例如: int arr[ ][ 3];

8二维数组的使用

8.1二维数组的下标

二维数组访问数据也是使用下标引用操作符,列如:int arr 1[2][2]=={{1,2},{2,3}}

我们要打印3这个数据 我们访问的下标就是arr1[1][1] 

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
    arr[2][2]={1,2,2,3};
    printf("%d",arr[1][1]);
}

8.2二维数据的输入与输出

其实二维数组和一维数组的输入和输出是相似的只不过二维数组比一维数组多了行数,那我们只要遍历行数和列数就能实现二维数组的输入和输出了。

代码语言:javascript代码运行次数:0运行复制
#include<stdio.h>
int main()
{
    int arr[2][3]={1,2,3,4,5,6};
    for(int i=0;i<2;i++)//产生行号
        {
            for(int j=0;j<3;j++)//产生列号
            {
                scanf("%d",&arr[i][j]);//输入
            }
    for(int i=0;i<2;i++)//产生行号
        {
            for(int j=0;j<3;j++)//产生列号
            {
                printf("%d",arr[i][j]);//打印
            }
        }

     return 0;
}

二维数组在内存中的存储

接下来让我们了解二维数组的存储方式是什么样的:

从输出的结果来看每一行内部的每个元素都是相邻的,地址之间相差4个字节,跨行位置处的两个元素也相差四个字节(如arr[0][5]和arr[1][0]),所以二维数组的每个元素都是连续存放的。 用个图更好解释:

实际上

总结:二维数组今天就讲完了,小伙伴们加油哦!! 

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-05-04,如有侵权请联系 cloudcommunity@tencent 删除语法存储int数据数组

本文标签: (数组二)c语言新手玩家还感到迷茫吗学习这篇文章轻松玩转数组