对于数组的理解
来源:互联网 发布:聪明人思维方式知乎 编辑:程序博客网 时间: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};
编译器会自动算出第一维的长度,但是第二维不能省略。
阅读全文- 对于数组的理解
- 对于树状数组的理解
- 对于数组和指针的理解
- 对于数组与指针的理解
- 个人对于数组和缓冲区的理解
- 对于数组和指针的理解
- 对于继承的理解
- 对于volatile的理解
- 对于分布式的理解
- 对于volatile的理解
- 对于const的理解
- 对于scull_read的理解
- 对于分页的理解
- 对于视图的理解
- 对于HBase的理解
- 对于STL的理解
- 对于覆盖的理解
- 对于context的理解
- MongoDB Manual 2.6 学习笔记-Getting Started with MongoDB
- 第5次上机内容预测
- Eclipse PHPEclipse 配置
- caffe问题Check failed: registry.count(type) == 1 (0 vs. 1) Unknown layer type: Python
- 微信小程序音频功能开发实(cai)践(keng)
- 对于数组的理解
- 如何设置Linux时间
- 理解自然语言处理中的卷积神经网络
- ViewPager切换动画PageTransformer使用
- cookie简介和session简介
- linux系统对外开放3306、8080等端口,防火墙设置
- Android_Rxjava1.0、2.0
- java二分查找的实现
- Calling C Code From Mono/.NET