数组常见操作
1、
数组元素的遍历
对于数组中的元素,进行不重复、无遗漏的一次性访问
下面几种错误的输出方式:
int a[10]; 元素有:a[0]......a[9],打算输出 a 数组中的所有值
1printf("%d\n", int a[10]); //错误
2printf("%d\n", a[10]); //这条语句被 C 语言认为,输出的是数组 a 的,下标为 10 的,第 11 个元素的值
对于已经定义了一个拥有 n 个元素的数组 ar;对于这个数组所有元素进行遍历的程序框架是:
1for(i = 0; i < n; i++){
2 ...ar[i]...
3}
A、总是从下标为 0 的元素开始遍历
B、下标总是连续变化,这意味着,对数据的遍历是连续的,不跳跃,不重复
数据存储在数组中需要满足的 3 个条件:
A、从下标为 0 的第一个元素(首元素)开始存放
B、连续存放
C、上述两个特点必须保持动态满足(意思是:无论删除还是插入数据,在删除或插入数据后,依然要满足上述两个基本条件)
对于数组的编程,主要考虑的是下标,或者可以说:玩数组就是玩下标
2、
数组赋初值
数组赋初值操作仅能发生在数组定义语句未结束时!
1int a[5] = {1, 2, 3, 4, 5};
2int a[5] = {1, 2, 3, 4, 5, 6}; //语法错误
3int a[5] = {1, 2, 3}; //不完全赋初值:初值个数少于所申请的数组元素个数,则从下标为 0 的元素开始,前面连续若干个元素被赋初值,其余元素的值被 C 语言统一赋值为 0(不是垃圾数据)
4int a[100] = {1};
5int a[5] = {}; //语法错误
6int a[]; //语法错误,不能形成有效的数据类型(长度不定)
7int a[] = {1, 2, 3, 4, 5, 6, 7}; //定义数组,不明确声明数组元素个数,但赋初值;则,数组元素个数取决于初值个数