• C语言入门 Day_13 二维数组


    目录

    前言:

    1.字符串

    2.创建二维数组

    3.使用二维数组

    4.易错点 

    5.思维导图


    前言:

    我们学习了字符类型char,我们可以用char来表示一个大写或者小写的字母,但真实应用中我们往往使用的是多个字符组成的一个单词或者句子。

    这种“多个字符”在C语言中叫做字符串

    但是字符串和字符,整型,浮点型不同的是,字符串不是一个数据类型,它本质上是一种字符类型的数组

    1.字符串

    1.1

    字符串是一个数组,它有两个特点:

    第一个是它是字符类型;第二个是它以符号'\0'结尾

    我们来创建/定义一个字符串:

    char string_1[5] = {'l', 'o', 'v', 'e', '\0'};

    1.数组的数据类型是字符型char

    2.数组名字string_1

    3.数组长度5

    4.字符数组的前四个元素l,o,v,e

    5.数组的最后一个元素'\0'

    1.2

    我们可以看到,这个字符型数组的最后一个元素是'\0'

    我们再来看看怎么输出一个字符串

    我们先定义一个字符串(字符数组),然后打印输出它:

    1. char string_1[1]={'l','o','v','e','\0'};
    2. printf("%s\n",sting_1);

    1.定义一个字符串

    2.字符串的输出符号%s

    3.字符串名(字符数组名)string_1

    1.3

    在打印的时候我们使用的是%ss是字符串英文string的首字母。所以字符串的输出符号是%s

    字符串是数组的一个应用,对于后期的很多编程语言比如python来说,字符串是默认支持的数据类型,但是C语言时代还并没有默认支持,而是通过一维字符型数组的形式来代表字符串的

    之前我们学习的数组包括字符串,都是一维数组,因为它只有一个索引/下标,也就是只有一个“维度”,C语言还有二维数组的机制。

    1. int number_list[10];
    2. float float_list[6];
    3. char string_a[20];

    2.创建二维数组

    2.1

    一维数组是一个线性表的话,一个索引/下标对应一个数据;

    二维数组可以理解为一个行列表,一个行索引加上一个列索引可以对应一个数据。

    2.2

    我们来定义一个二维数组,这个二维数组是整型的

    1. int double_list[2][2]={{12},{3,4}};

    1.二维数组的数据类型,int

    2.二维数组名  double_list

    3.二维数组的第一个索引/下标   [2]

    4.二维数组的第二个索引/下标   [2]

    1. int double_list[2][2]={{12},{3,4}};

    5.二维数组的数组元素   {1,2},{3,4}

    6.二维数组的“第一行”数据

    7.二维数组的“第二行”数据

    2.3

    二维数组里面的第一个下标表示哪一行,是横着的行

    eg:这里的[0][0]是1,[0][1]是2,这是第一行;[1][0]是3,[1][1]是4,这是第二行。

    二维数组里面的第二个下标表示哪一列,是竖着的列

    eg:这里的[0][0]是1,[1][0]是3,这是第一列;[0][1]是2,[1][1]是4,这是第二列。

    接下来我们来学习二维数组的使用,使用的时候我们心里也是想着一张二维的行列表就行了。

    3.使用二维数组

    3.1

    我们先来看看二维数组的读取和访问。

    一个二维整型数组,挨个打印它的数组元素:

    1. int two_number_list[2][2]={{1,2},{3,4}};
    2. printf("%s\n",two_number_list[0][0]);
    3. printf("%s\n",two_number_list[0][1]);
    4. printf("%s\n",two_number_list[1][0]);
    5. printf("%s\n",two_number_list[1][1]);

    1.创建二维数组并赋值

    2. [0][0]  打印二维数组的第一行第一列的元素 1

    3. [0][1]  打印二维数组的第一行第二列的元素  2

    4. [1][0]  打印二维数组的第二行第一列的元素   3

    4. [1][1]  打印二维数组的第二行第一列的元素   4

    3.2

    修改二维数组元素的方法和一维数组一样,也是直接找到元素位置进行赋值就可以了:

    1. float two_float_list[2][2]={{1.0,2.0},{3.0,4.0}};
    2. two_float_list[0][0]=10.10;
    3. two_float_list[0][1]=20.20;
    4. two_float_list[1][0]=30.30;
    5. two_float_list[1][1]=40.40;

    1. 定义一个二维数组 

    2. two_float_list[0][0] = 10.10  修改第一行第一列的数据

    3. two_float_list[0][1] = 20.20  修改第一行第二列的数据

    4. two_float_list[1][0] = 30.30  修改第二行第一列的数据

    5. two_float_list[1][1] = 40.40  修改第二行第二列的数据

    3.3

    二维数组和一维数组的使用方式其实是一模一样的,难点在于二维数组里面的数组元素所在的位置,我们需要记住第一个下标代表行,第二个下标代表列,这样就方便记忆了。

    二维数组的访问限制和一维数组类似,不能超过下标的范围,这种超过下标的范围的行为,还有个专业术语叫做越界。就是数组和人一样都需要有边界感,人没有边界感,其他人会愤怒;数组没有边界感,程序会报错

    二维数组的使用场景其实大部分都可以被一维数组取代,因为都是存储数据,二维数组可以被一个很长的一维数组达到同样的存储数据的效果。

    以至于后面的编程语言很多都取消了二维数组的设定,只保留了一维数组(又叫数组或者列表)。

    4.易错点 

    eg:

    C语言没有字符串类型,所以我们要把字符串放入字符数组中;

    字符串的结束符号是\0 ,所以字符串长度比字符总长度多1;

    字符串的输出符号是%s

    eg:

     二维数组的行下边和列下标都是从0开始的;

    数组大小由数组定义时的[4][5]决定——即4行5列,可以存储20个数。

    5.思维导图

    最后我想说的是:

    在撰写这篇文章时,我参考了《白纸编程》这个app的观点和思想,我要感谢他们对我的启发和帮助。

  • 相关阅读:
    《前端》笔记整合
    Laravel 常用辅助函数
    数据库索引
    2.ClickHouse系列之特点介绍
    初识网络原理
    笔试强训2
    数字化转型入门
    微信小程序-npm扩展工具包
    CDH大数据平台 27Cloudera Manager Console之superset之Python相关包安装(markdown新版一)
    千兆光模块存在哪些局限性
  • 原文地址:https://blog.csdn.net/fantastic_little/article/details/132394996