---恢复内容开始---
学c语言就知道数组、指针在c中有着特殊的地位。而且是必须掌握的一项知识,学会它会让你受益无穷。
一、数组
1、数组:室友一系列相同元素构成的。它连续的存储在内存中。
2、数组的声明:
格式: 类型 数组名 [元素个数];
例 : int myarray[10];
注意:在c99之前不允许出现元素个数为变量的情况。
例:
int n = 10;
int myarray[n]; // C99之前不允许(这种声明方式不允许被初始化)
3、数组的初始化:
- int myarray[] = {1,2,3,4,5}; // 正确,这种情况下元素个数可以省略。
- int myarray [10] = {1,2,3,4,5,6,7,8,9,0}; // 一般情况,元素和元素中间用 “,”分割
- int myarray [10] = {1,2,3}; // 只初始化前三个元素。
- int myarray [10] = {[4] = 4,[6] = 6}; //第5个元素个第6个员被初始化,其他元素都为0。
- int n = 10; int myarray [n] = {1,2,3,4,5,6,7,8,9,0}; //错误 。C99之后允许变量作为数组的元素个数,但是不允许初始化这种声明。
那么如果我们在数组定义后并不对其进行初始化,数组元素的值是什么?
数组定义的时候,只是划出一片区域,冠以数组名来存储数组元素。但是在定义数组的时候并不改变这片区域里数据,也就是说在这篇区域中的值是不确定的。
4、数组的赋值
- int myarray [10] = {1,2,3,4,5,6,7,8,9,0};
- int oarray [10];
- oarray = myarray; //错误,c不支持把一个数组作为一个整体来进行赋值。
- oarray [10] = {1,2,3,4,5,6,7,8,9,0}; // 错误,c不支持一个花括号括起来进行赋值。
5、数组的边界
在使用数组的时候,需要注意数组索引不能超过数组边界。也就是说数组索引对于数组来说应该是有效的。
---恢复内容结束---