10th day

本文详细介绍了C语言中的二维数组,包括二维数组的声明、存储数据、取出数据、遍历、内存存储、初始化、地址计算以及二维数组在函数中的使用。特别强调了二维数组的长度计算和初始化方法,以及在实际操作中需要注意的事项,如数组越界和默认值。此外,还回顾了字符数组、字符串存储和处理的相关函数,如puts()、gets()、strlen()等。
摘要由CSDN通过智能技术生成

 前日知识点回顾:

     2.数组的基本使用.

         2.1 特点

         a.可以存储多个数据。

         b.存储的多个数据的类型相同。

         c.长度固定。

         d.存储在数组中的数据方便管理。

         2.2 语法:

         元素类型 数组名[长度];

         int arr[3];

         数组名叫做arr 长度是3元素的类型是int

         arr的类型int数组

         2.3 存储数据,使用下标。

         2.4 取出数据。

         2.5 遍历.

         2.6 注意点。

             a.数组的长度。

             b.数组元素的默认值。

             C.数组元素的初始化。

                 int arr[] = {10,210,2,12,1,21,3,124,1,4};

                 int arr[]={0};

                 当声明数组的同时使用大括号初始化数组元素的时候 数组的长度不能是1个变量。

     3.数组在内存中的存储

         int arr[3];

         数组的地址。

         数组名中就是数组地址。

         数组的地址==数组名=数组的低字节的地址==数组的第0个元素的地址=数组的第0个元素的低字节地址

         计算数组的长度。

         sizeof(数组名)/每1个元素占用的字节数.

     4.数组与函数.

         当数组作为函数的参数的时候。

         传递实参数组的时候会丢失数组的长度,所以在函数的内部使用sizeof计算参数数组的长度的时候是算不出来的。

         再多给1个参数 让调用者把数组的长度也一并传递过来.

     5.数组的算法

         a.求大值、最下值、累加和、平均值。

         b.判断指定的数据释放包含在数组中

         c.找出指定的数据在数组中的下标。

         d.产生不重复的随机数

         e.选择排序 冒泡排序 二分查找。

 P231 二维数组的声明

    二维数组就是一个有行有列的表格。

    我们声明了1个二维数组,就等于在内存中创建了指定行指定列的1个表格来存储数据

    1.二维数组首先是1个数组,所以它符合数组的特点:

        a.元素类型相同

        b.存储的数据个数固定

        c.方便管理数据

    2.二维数组的特点:

        二维数组是一个有行有列的的表格。

        使用单元格来存储数据,单元格就是一个二维数组的元素。

    3.声明二维数组的语法

        元素类型 数组名字[行数][列数];

        int arr[3][4]

    4.几个术语:

        1.元素:元素就是这个表格的每一个单元格,所以二维数组真正存储数据的就是表格的每一个单元格

        2.下标:元素的下标。二维数组的每一个元素下标有2个,一个行下标,一个列下标。 arr[1,2]

        3.长度:我们一般认为长度是单元格的个数。行*列

 P232 如何在二维数组中存储数据

    1.二维数组真正存储数据的就是表格的每一个单元格,元素。

      所以,在存储数据的时候 必须要确定 到底要存储到哪一个元素之中。

      使用下标来确定二维数组中的元素,二维数组的元素的下标有2个,航下表,列下标。

        int  arr[3][4];

        arr[1][2] = 100;

      讲100存到arr数组第1行第2列的那个元素里。    

    2.为二维数组的元素赋值的数据的类型要和元素的类型一致,否则就会做自动类型转换。

    3.行列下标请不要越界。否则就有可能会造成程序崩溃的问题。

 P233 取出二维数组的元素的值和遍历二维数组

    1.如何从二维数组中取出数据。

         1.1 二维数组中真正存储数据的是表格中的每1个单元格.元素.

             所以,你要取数据就要先确定到底要取那1个元素的数据。

             通过下标来确定,而二维数组的元素的下标有2个.

                     二维数组名[行下标][列下标];

        1.2.行列下标不要越界。

    2.遍历二维数组

for (int x = 0 ; x < 行数 ; x++) //外层循环控制行数
{  
     for (int y = 0 ; y < 列数 ; y++) //内层循环控制列数
         {
            arr[x][y];
            //printf("arr[%d][%d] = %d\n",x,y,arr[x][y]);
         }
}

 P234 二维数组的行数列数以及默认值的问题

     1.使用二维数组要注意的地方.

         1.1 关于二维数组的行数和列数

              a.在声明二维数组的时候 必须要指定行数和列数。

              b.并且这个行数和列数:可以是变量、常量、宏、表达式.也可以是1也可以是0

              行数和列数不能是小数、负数。

         1.2 关于二维数组的元素的默认值。

              如果我们声明1个二维数组 没有为这个二维数组的元素。

              这个二维数组的元素是有值的 值是1个垃圾值。

 P235 二维数组的初始化

     1.全部初始化。

         a.先声明,再使用下标来初始化。

         b.在声明的同时,就初始化数组的每一个元素。

int arr[3][4]=
{
    {10, 20, 30, 40},//第0行的数据
    {50, 60, 70, 80},//第1行的数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值