第十章 数组和指针(数组及数组初始化)总结 140517

数组:

        它用来线性存储一系列类型相同的元素。声明数组的方法:数据类型数组标识名  [元素个数] ;

        元素总是从0开始,所以最后一个元素为“元素个数 - 1”

初始化:

       使用花括号括起来的一系列数值来初始化数组。数值之间用逗号隔分。每个数值对应一个元素值。

使用未初始化的数组:

         在使用未初始化数组和在使用未初始化变量的问题是一样的,其值是不定的(编译器使用的是存储单元原来的            数值,对于我们来说就是垃圾数值)

初始化列表中元素数目和数组大小不一致时:

         当数值数目少于数组元素时,多余的数组元素被初始为 0

初始化列表中元素数目个数大于数组大小时:

        编译报错(初始值设定项太多), 如真不知道,可以省略方括号中数字,让编译器根据列表中的数值数目 来确         定数组大小。

关键字 sizeof :

         它给出其后的对象或类型的大小(以字节为单位),而strlen ();函数则是以字符为单位给出字符串的长度

指定初始化项目:

         就是可以选择对某个元素进行初始化。(vs 不支持,为什么不支持,这个我也不知道,可能是没有太大用吧)

为数组赋值:

         声明完数组后,可以用数组的索引(元素,下标)对数组成员进行赋值。数组初始化与数组赋值在语句上的区            别,只是标识数组名前没有数据类型。c不支持把数组作为一个整体来进行赋值,也不支持用花括号括起来的              列表形式进行赋值。

数组的边界 :

          它从零开始到索引减一        编译不检查索引的合法性,如果不合法数组的值是不能确定。索引只能是由整数             常量组成表达式   ,sizeof 表达式被认为是一个整数常量,并且表达式的值必须大于0,并且声明数组和要使               用数组的大小地方最是用符号常量,这样作可以避免出现索引合法性的问题( 这是在c99之前的事,c99支持               变长数组,就是可以用变量来作数组大小。vs不支持)

 多维数组:

         数组的数组叫二维数组。声明方法:数据类型  标识符名 [元素个数][元素个数]; 例:flaot rain [5] [12] 说明rain              是一个包含5个元素面每个元素又包含12个float 数值的数组。raim [0]是一个数组它包含12个float 数值,而它的          首个元素是riam [0] [0] 元素之间是顺序存储(前12个元素之后跟着就是第二个包含12个元素的数组)。二维数            组的初始是建立在对一维数组的初始化之上的。如10.7程序中flaot rain [5] [12]初始化如下

                {
            {4.3,4.3,4.3,3.0,2.0,1.2,0.2,0.2,0.4,2.4,3.5,6.6},   
            {8.5,8.2,1.2,1.6,2.4,0.0,5.2,0.9,0.3,0.9,1.4,7.3},
            {9.1,8.5,6.7,4.3,2.1,0.8,0.2,0.2,1.1,2.3,6.1,8.4},
            {7.2,9.9,8.4,3.3,1.2,0.8,0.4,0.0,0.6,1.7,4.3,6.2},
              {7.6,5.6,3.8,2.8,3.8,0.2,0.0,0.0,0.0,1.3,2.6,5.2},
             };         

            第一个数值列表赋给rain [0] [0]   rain [0] [1]  rain [0] [2] 到 rain [0] [11] 

            第二个 数值列表赋给rain [1] [0]  rain [1] [1]  rain [1] [2]  到rain [1] [11]

            以此类推。第三个,第四个,第五个。如果数值列表的数值比声明的数组数值少默认 用零(0)初始                   化,           如果多就报告 (初始值设定项太多),的错误       另外千万不能忘记最后面的那个逗号,还               有就是内部的         花括号可以省略,但最好是加上因为这样可以令代码更清晰明了。 

多维数组的遍历

       用嵌套循环结构建处二维数组,个部循环每执行一次,内部循环完整遍历一次。

对于数组理解个人总结:

        一维数组就像是exel一行,而二维数组就像一张exel表,而多维就一个多张exel表向上叠加







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值