juliusun.com
第 20/50 节 冥河C语言教程
以前学习的int、char是基本数据类型,本节开始我们学习一下复合数据类型,本节学习数组。
数组就是按顺序存储的同种类型的元素的集合。
数组就是相同类型元素的集合。内存知识如果学习的少,你可以简单的这样理解。
数组的定义方式为:
类型 数组名[元素个数]
元素个数必须是常量。举例:
上述例子由于定义数组为单独的语句,需要加上分号结尾。
数组可以在定义时初始化。初始化格式如下:
类型 数组名[元素个数] = {逗号分隔的元素列表}
元素列表可以初始化全部或部分元素。当元素列表初始化全部元素时,数组名后面方括号[]里面的元素个数可以省略。举例如下
注意,局部变量中,部分初始化的数组,未初始化部分为值为0。未初始化的数组,值不为0,不可预测,目前多数环境元素每个字节值为0xcc。如果定义的元素个数多于初始化列表元素个数,请手动加上元素个数,否则编译器自动将元素个数定为初始化列表中的个数。
数组元素引用格式为:
数组名[下标]
下标有时也称为索引。下标从0开始,第1个元素下标为0,第2个元素下标为1,以此类推,第N个元素下标为N-1。如T类型 一维数组,每个元素类型都是T类型,可以当作T类型基本变量使用。如int a[10]。a中每个元素的数组类型都是int,每个元素都可以当作int类型使用。例:
C语言数组允许对数组元素越界访问。如某数组有N个元素,由于下标从0开始,元素下标另为0到N-1。当下标大于等于N时是对数组元素越界访问。C语言允许越界访问数组,但是请确定逻辑正确。例:
举例,用户输入最多20个数字,不足20个数字时,输入0停止输入。然后输出这20个数字相加的算式:
输入0中断输入时效果类似如下图:
输入20个数字时效果类似如下图:
运行结果仅供参考,不同平台有所差异。