解析数组

本文详细介绍了数组的概念,包括一维数组和二维数组的创建、初始化及使用方法,并探讨了数组的存储方式和指针访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组


1.  数组是一组有序数据的集合(顺序储存在内存中,通过下标进行访问)

2.  通过数组名和数组下标可以唯一的确定一个元素

3.   数组中每一个元素都属于同一数据类型

ps:数组结合循环,可以批量处理大量数据


一、一维数组

 一维数组的创建和初始化


  1.     一维数组的创建

     定义一维数组的一般形式为:类型符 数组名[常量表达式];

                   eg:   int arr1[10];

                           char arr2[4];

                           float arr3[2];

                           double arr4[3];

      注:数组创建时,[ ]中必须是常量,不能使用变量


   2.     一维数组的初始化

        在定义数组的同时,给个数组元素赋值,这称为数组的初始化

                     int a[10]={0,1,2,3,4,5,6,7,8,9};
                     int a[10]={0,1,2,3,4};
                     int a[10]={0};
                     int a[]={1,2,3,4,5};

       数组在创建的时候如果想不指定数组的确定的大小就得初始化。数组的元素个数根据初始化的内容来确定。。比如:上边的第四个初始化,a数组的大小为 4。

 

对于下面代码要区分在内存中如何分

    

 一维数组的使用


    解引用操作符[ ] ,它其实就数组访问的操作符。

    引用数组元素的表示形式为:数组名[下标
    PS:数组下标从 0 开始,注意数据下标的结束位置,防止数组越界


 一维数组的存储

   看下列代码:

    

     输出结果:

       

      由输出结果我们可以看出,随着数组下标的递增,数组元素的地址也在递增

   由此可以得出结论:数组在内存中是连续存放的

 

一维数组的指针访问

 

  上面我们知道了数组在内存中的存储方式。那我们尝试使用指针的形式访问数组

   我们看代码:

    

     运行结果:

      

 

     观察结果我们发现,通过对数组名+整数的运算,其实可以获取到数组每个元素的地址,这样我们就可以使用指针访问我们的数组了

 

二维数组

 

 二维数组的创建和初始化


    1.     二维数组的创建

          类型符 数组名[常量表达式][常量表达式];
           如:float a[3][4],b[5][10];
           注意:二维数组不能写成 a[3,4]


     2.     二维数组的初始化

           int  a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
           int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
           int a[3][4]={{1},{5},{9}};
           int a[3][4]={{1,0,0,0},{5,0,0,0},{9,0,0,0}};
           int a[3][4]={{1},{5,6}};
           int a[3][4]={{1},{5,6},{0}};
           int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
           int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
           int a[][4]={{0,0,3},{ },{0,10}};
           int a[3][] = {1,2,3,4,5,6,7,8,9};

 

 二维数组的使用

       二维数组元素的表示形式为:数组名[下标][下标]
       PS:行列下标从0开始

 

 二维数组的存储

     像一维数组一样打印出每个元素的地址

      代码:

    

      运行结果:

       

     通过结果我们分析其实二维数组在内存中也是连续存储的

 

 二维数组的指针访问

   

    运行结果:

      

 由此,我们可以发现,二维数组也可以通过指针进行访问。

   


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值