数组
1. 数组概念
数组是由数据类型相同的一组元素组成的一种数据结构,在内存中顺序存放。
2.数组分类
数组包括:一维数组,二维数组,多维数组。
一维数组是最常使用的,二维数组和多维数组使用较少。在函数传参和使用返回值时,对数组的操作要特别注意,这一部分会在《数组-高级》博客中介绍。
3.一维数组
一维数组只存储一组相同类型的数据,可以使用数组名和下标的组合可以访问一维数组中的任意元素。
下标是数组元素对应的序号,即中括号和其中的序号!
特别强调一下对应关系,数组的下表序号从0开始,到n-1结束。
数组的大小要显示的声明,在定义的时候就要确定好数组的大小,这是一个编程的好习惯,尽管C11,C99标准关于数组定义时有关数组大小的规定一直在变动,但是显式声明总是没错的。
明白了对应关系,使用数组名和数组下标组合可以方便地访问数组中的任意元素。
为了代码书写规范,数组序号的大小推荐使用宏定义,并在其后增加注释,尤其是使用常量数组和全局数组时。
4.一维数组定义:
类型说明符 数组名[序号];
举例:
int data[100] = {0};
char words[100] = “Hello Tom !”;
float score[30] = {0.98,0356,1.32};
//类型说明符 数组名[序号]
类型说明符:表示数组中的所有元素的类型,可以是任意一种基础数据类型、构造类型或指针等。
数组标识符(数组名):声明这个数组型变量的名称(也叫做数组名),其命名规则与变量相同,由字母、数字、下划线组成,但是必须是以字母或者是下划线开头。
中括号:这对中括号是数组标志,同时也是数组的重要组成部分,不能缺少。
常量表达式(序号):中括号内的表达式必须为常量和符号常量一般情况下不能为变量。常量表达式定义了数组中存放的数据元素的个数,即数组长度。
5.一维数组的引用
采用下标引用,即使用下标可以访问对应的数组元素也可以对数组中的元素进行赋值等操作。
6.一维数组初始化:
①将数组中的元素全部赋初值
int data[5] = { 1,2,3,4,5};
printf(“the data context is %d-%d-%d-%d-%d”, data[0], data[1], data[2], data[3], data[4]);
结果
he data context is 1-2-3-4-5
②部分初始化
int data[5] = { 1,2,3,}
printf(“the data context is %d-%d-%d-%d-%d”, data[0], data[1], data[2], data[3], data[4]);
结果
he data context is 1-2-3-0-0
注意:
如果不初始化数组,数组中的元素和未初始化的普通变量一样,存储的是垃圾值。如果数组被部分初始化,那么剩余的元素会被初始化为0。