在上一篇文章里我们学习了C语言中的函数,函数的内容是非常丰富和精彩的。下面我们一起来学习C语言中的数组。数组,顾名思义就是一组数据,我们把一组数据类型相同的元素放在一起,便构成了数组,有点儿像数学中的集合。不同的是,数组中的元素是按规律存放的,每个元素都有它的编号,这样就为我们更好的处理实际问题,提供了方便。下面就让我们一起进入数组的世界吧!
1.一维数组的创建和初始化
1.1数组的创建
数组是一组相同类型元素的集合,数组的创建方式:
type_t arr_name [const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式,用来指定数组的大小
数组创建实例:
//代码1
int arr1[10];//创建了一个存放有十个元素的数组arr1
//代码2
int count = 10;
int arr2[count];
//这样创建数组是错误的,因为数组元素个数count是个变量,不是常量表达式
//代码3
char arr3[10];//数组元素的类型均为字符
float arr4[10];//数组元素的类型均为单精度浮点型
double arr5[10];//数组元素的类型均为双精度浮点型
注:数组创建 [ ] 中要给一个常量才可以,不能使用变量。
1.2 数组的初始化
数组的初始化是指在创建数组的同时给数组元素的内容赋一些合理的初始值,看代码:
int arr1[10] = {
1,2,3 };//不完全初始化,剩余元素默认初始化为0
int arr2[] = {
1,2,3,4 };//数组大小为4
//C语言中如果创建数组的时候不想指定数组元素的大小就初始化,数组元素的个数就根据初始化的内容来确定
int arr3[5] = {
1,2,3,4,5 };
char arr4[3] = {
'a','98','c' };//98是b的ASCII值
char arr5[] = {
'a','b','c' };//三个元素a b c
char arr6[] = "abcdef";//实际是7个元素abcdef\0
//字符串也可以初始化字符数组,不同的是,它后面多了一个元素:\0,\0是字符串结束标志
在计算机中字符是用其相应的ASCII值表示的,下面的ASCII表建议大家收藏
1.3 一维数组的使用
对于数组的使用我们之前介绍了一个操作符:[ ] ,下标引用操作符。它其实就是数组访问的操作符,我们来看代码:
#include<stdio.h>
int main()
{
int arr[10] = {
0 };
int sz = sizeof(arr) / sizeof(arr[0]);
//计算数组的元素个数
int i = 0;//数组的下标是从0开始的
for (i = 0; i < sz; i++)
{
arr[i] = i;
}//这样就得到了一个数组元素为 0 1 2 3 4 5 6 7 8 9 的数组
for (i = 0;i < sz; i++)
{
printf("%d ", arr[i]);
//这样就可以打印数组的每一个元素
}
return 0;
}
1.4 一维数组在内存中的存储
接下来我们研究下数组在内存中的存储:
#include<stdio.h>
int main()
{
int arr[10] =</