对于数组的理解

来源:互联网 发布:聪明人思维方式知乎 编辑:程序博客网 时间:2024/06/08 22:22

一、一维数组(只有一个下标的数组):

1、一维数组的定义:

(1)、存储类别说明存储元素的存储属性,即数组的作用域与生成期,可以是静态型(static)、自动型(auto)及外部型(extern)。当使用auto型时可省略;

(2)、类型标识符说明数组元素的数据类型,可以是基本整形,还可以是其他类型;

(3)、数组名称标识符,即所定义的的数组的名字,其命名规则与变量的命名规则相同;

(4)、常量表达式是数组的元素个数,也称为数组长度,是一个整形常量表达式,可以是符号常量。

2.一维数组元素的引用(数组元素地址=数组首地址+元素下标*sizeof(数组类型)):

应注意:

(1)、数组下标取值应在0至 “元素个数-1”的范围内(C语言不对下标越界做语法检查)(下标只能为整形,可以为常量或者是变量);

(2)、数组元素可以像普通变量一样使用;

(3)、对数组的输入、输出和赋值只能对单个元素进行,不能整体输入或输出一个数组。

3.一维数组的初始化(数组只能初始化,不能整体赋值):

(1)、在定义数组时对所有数组元素赋值;

(2)、给数组部分的元素赋初值;

(3)、对全部元素赋初值时,可以不指定数组长度。

注意:(1)若一个静态或外部数组不进行初始化,则对数值型数组隐含初值为0,对字符数组,隐含初值为空字符‘、0’;(2)如果不对自动数组初始化,则其初始值为系统分配给系统各元素的内存单元的原始值;(3)当数组元素与初值个数不相等时,在定义数组时必须指定数组长度。

二。二维数组(若一个一维数组,他的每一个元素也是类型相同的一维数组时,便构成了二维数组)(有两个下标)(习惯上,把所有第一位下标相同的元素称为行,所有第二维下标相同的元素称为列):

1.二维数组的初始化:

1(1)int a[2][3]={{1,2,3},{4,5,6}};

两行三列,一个花括号代表一行,注意每行不能超出自己限定的个数,但若部分行元素个数不足,其余元素会自动初始化为0。
(2)int a[2][3]={1,2,3,4,5,6};

这样也会生成一个两行三列的数组,只是数据较多的时候容易漏掉元素。
(3)int a[][3]={1,2,3,4,5,6};

编译器会自动算出第一维的长度,但是第二维不能省略。

阅读全文


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝店铺失效了怎么办 淘宝订单没货怎么办 拼多多预售到期怎么办 直通车出价太高怎么办 htc手机黑屏打不开怎么办 商品被屏蔽该怎么办 遇到恶意差评怎么办 银行账户被锁定怎么办 淘宝卖家说退货不全怎么办 买家旺旺被限制怎么办 淘宝支付不了了怎么办 手机图标变黑了怎么办 商品没有支付宝怎么办 金立s8热点打不开怎么办 淘宝店铺异常2怎么办 付款付错了怎么办 手机淘宝太卡怎么办 卖家不同意退货怎么办 游戏退出无响应怎么办 手机淘宝购物车打不开怎么办 淘宝店铺没有访客怎么办 淘宝店铺0流量怎么办 微信经常封号怎么办 网上拍卖堂违约怎么办 dnf4开组队制裁怎么办 红酒木塞丢了怎么办 红酒塞子进去了怎么办 淘金币即将过期怎么办 淘金币过期怎么办2018 换详情排名下降怎么办 长城宽带不用了怎么办 快递到了想退货怎么办 淘宝退货商家拒收怎么办 淘宝运费险失败怎么办 忘记购买运费险怎么办 咸鱼买家申请退款怎么办 熟猪肉有点变味怎么办 和领导意见不一致怎么办 骑手提前点送达怎么办 ubuntu安装报错怎么办 液相色谱两峰分不开怎么办