1、一维数组的创建和初始化
1、数组
程序中也需要容器,只不过该容器有点特殊,它在程序中是一块连续的,大小固定并且里面的数据类型一致的内存空间,它还有个好听的名字叫数组。可以将数组理解为大小固定,所放物品为同类的一个购物袋,在该购物袋中的物品是按一定顺序放置的。
C语言中给了数组的定义:一组相同类型元素的集合。
2、数组声明
声明一个数组:数据类型 数组名称[长度];
数组创建,[ ]中要给一个常量才可以,不能使用变量。
3、数组初始化
数组只声明也不行啊,看一下数组是如何初始化的。数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)。
说到初始化,C语言中的数组初始化是有三种形式
1)数据类型 数组名称[长度n] = {元素1,元素2…元素n};
2)数据类型 数组名称[] = {元素1,元素2,…,元素n};
3)数据类型 数组名称[长度n]; 数组名称[0] = 元素1; 数组名称[1] = 元素2; 数组名称[n-1] = 元素n;
4、数组在创建的时候如果想不指定数组的确定的大小就得初始化。数组的元素个数根据初始化的内容来确定。
5、我们将数据放到数组中之后又如何获取数组中的元素呢?
C语言规定:数组的每个元素都有一个下标,下标是从0开始的。数组可以通过下标来访问的。
获取数组元素时:数组名称[元素所对应下标];
如:初始化一个数组 int arr[3] = {1,2,3}; 那么arr[0]就是元素1。
同理,数组的使用是通过下标引用操作符:[],它其实就数组访问的操作符。
6、注意
1)数组是使用下标来访问的,数组的下标均以0开始;
2)数组在初始化的时候,数组内元素的个数不能大于声明的数组长度;
3)如果采用第一种初始化方式,元素个数小于数组的长度时(不完全初始化),多余的数组元素初始化为0;
4)在声明数组后没有进行初始化的时候,静态(static)和外部(extern)类型的数组元素初始化元素为0,自动(auto)类型的数组的元素初始化值不确定;
5)数组的大小可以通过计算得到。
![](https://img-blog.csdnimg.cn/img_convert/4568ca14571480931a2eeafa0804e7b5.png)
7、C语言获取数组长度:int length = sizeof(arr)/sizeof(arr[0]);
![](https://img-blog.csdnimg.cn/img_convert/19fc51ef4aec231990504758394a168d.png)