一、 什么是数组
数组顾名思义数的一种组合、或者说数据的一种集合,数组就是相同数据类型的元素的集合。
那么什么是数据类型呢?请参考C语言之数据类型_蓬莱菜鸟的博客-CSDN博客
二、数组的分类
数组按照数据类型分:整数、字符串等相关类型
数组按照维度分:一维数组、二维数组等,二维以上的数据应用比较少就不做介绍,其原理与分析二维数组比较类似
2.1 一维数组
2.1.1 一维数组创建
形如 int arr[5]类型的称之为一维数组,其中int代表是数组元素的数据类型,此例代表为是整数类型的数组,arr所代表的是数组的名称,[5]表示这个数组最多可以存放5个元素。数组与集合比较类似,一般所表示的数都是有限个
需要注意在C99标准编程规范中,在设置数组个数时,只能为常量不能为变量,下面举一个错误的案例。
//这是一个错误示范
int num = 10;
char array[num];
2.1.2 一维数组初始化
数组在使用之前需要对其进行初始化处理,初始化其中分为完全初始化和不完全初始化
int arr[10] = {0}; //完全初始化,把数组中每个值全部初始化为0
int arr1[10] = {1,2,3}; //不完全初始化,只初始化前三个
int arr2[3] = {1,2,3}; //完全初始化
2.1.3 一维数组使用
可以使用循环来对数组进行赋值和打印
#include <stdio>
#define NUM 10 //设置数组大小
int main(int argc, char* argv[])
{
int i = 0;
int arr1[NUM] = {0}; //初始化一个数组,并且数组的大小为10;
for (i = 0; i < NUM; i++)
{
arr1[i] = i; //对数组进行赋值处理
}
printf("\n");
for (i = 0; i < NUM; i++)
{
printf("%d ",arr1[i]); //打印数组的具体内容
}
return 0;
}
2.2 二维数组
2.2.1 二维数组的创建
二维数组创建时,行数可以忽略不写,所有维度的数组其第一个方括号可以忽略
int arr[3][4]; //第一个方括号表示行,第二个方括号表示列 此定义表示3行4列
char arr1[][5]; //第一个方括号可以忽略
double arr2[2][4];
2.2.2 二维数组初始化
二维数组初始化和一维数组类似,同样也是分为完全初始化和不完全初始化
int arr[2][3] = {{1,2,3},{4,5,6}}; //完全初始化
int arr1[2][3] = {1,2,3,4,5,6}; //按顺序全部赋初值
int arr2[2][3] = {{1,2},{4}}; //部分初始化
2.2.3 二维数组的使用
一维数组使用单个循环,二维数组使用双循环即可
三、数组的特点
(1)、数组是一种引用类型数据,存放在内存中
(2)、数组中可以存放多个元素、但是类型必须统一
(3)、数组的长度在运行当中是不允许改变的,必须是一个常量