零基础学习c语言---数组
2026/4/17 6:29:30 网站建设 项目流程

(一)数组的概念

我们可以将一个或多个元素存放在一个地方,我们就称之为数组,数组里存放的元素必须是同一类型的,数组又分为一维数组或多维数组。

(二)数组的初始化

和之前创建变量一样,数组的使用也必须先初始化,而数组的初始化又分为完全,不完全和错误的初始化,数组的初始化如下

int arr[5]={1,2,3,4,5};//完全初始化 int arr[5]={1,2,3};//不完全初始化 int arr[5]={1,2,3,4,5,6};//错误初始化

只不过数组的类型和之前变量的类型稍有不同,比如int a=0;那么变量a的类型就是整型,也就是int,但数组不同,比如下方数组的类型就是int[10]

int arr[10]={1,2,3,4,5,6,7,8,9,10};

数组的名字不是固定的,是根据你想要的效果来起的,比如你想要在这个数组里存放100个学生的成绩,为了方便理解,可以给数组起如下名字

int grade[100]={0};

数组的名字可以由字母,数字,下划线共同组成,如下 但是要注意⚠️:数字不能放在首位

int student_grade[10]={0};

(三)数组的下标,及输入,输出

每个存放在数组中的元素都有对应的下标,方便我们查找相应的元素。下标是从0开始的,然后是1,2…依次往后递增。那么怎么使用下标查找对应的元素呢,在c语言中我们就可以使用下标引用操作符[],比如给定一个数组,我们想要在屏幕上打印2,那么可以进行如下操作

#include <stdio.h> int main() { int arr[5]={1,2,3,4,5}; printf("%d",arr[1]); return 0; }

既然每个元素都有下标,再结合我们之前学过的循环,那么我们就可以把数组的每个元素都打印出来了,如下图

#include <stdio.h> int main() { int i=0; int arr[10}={1,2,3,4,5,6,7,8,9,10}; for(i=0;i<=9;i++) { printf("%d",arr[i]); } return 0; }

我们也可以自己根据需求自己给数组输入想要的值,如下

#include <stdio.h> int main() { int i=0; for(i=0;i<=9;i++) { scanf("%d",&arr[i]); } for(i=0;i<=9;i++0) { printf("%d",arr[i]); } return 0; }

(四)计算数组元素个数

对于一个数组,我们可以用之前学到的sizeof来计算它的元素个数,如下

int arr[10]={0}; int sz = sizeof(arr)/sizeof(arr[0]);//sz是arr元素个数

然后我们也可以用sizeof来计算单个数组的大小,如下图

int arr[10]={0}; printf("%d\n",sizeof(arr[0]));//计算单个元素的大小

这样两个结果相乘就是整个数组的大小了 当然也可以用它直接来计算数组的大小,如下图

int arr[10]={0}; printf("%d",sizeof(arr));

可得两次结果相同,当我们学会总sizeof来计算数组元素的个数时,以后在写代码时数组元素个数的地方就不用固定写死了,可以使用以上方法来计算

(五)二维数组的创建及初始化

把一维数组作为数组的元素就是二维数组。 二维数组的定义如下 二维数组的使用当然也要初始化,分为完全和不完全初始化,如下图

int arr[2][3]={1,2,3,4,5,6};//完全初始化 int arr[2][3]={1,2,3};不完全初始化 [2]表示2行 [3]表示3列

注意⚠️:二维数组在初始化时可以省略行,但不可以省略列,如下图

int arr[][3]={1,2,3};

(六)二维数组的下标,及输入和输出

和一维数组一样,二维数组也有对应的下标,每行每列也是从0开始依次递增的,如下图

上方图片方框外面的数字代表行或列的下标,第2行第4列的数字5的行下标为1,列下标为3

比如我们想要查找第2行第4列的数字5,可以这样访问

#include <stdio.h> int main() { int arr[3][5]={1,2,3,4,5,2,3,4,5,6,3,4,5,6,7}; printf("%d",arr[1][3]); return 0; }

我们一样可以用循环知识将二维数组的每个元素都打印出来,如下图

#inclue <stdio.h> int main() { int i=0; int j=0; int arr[3][5]={1,2,3,4,5,2,3,4,5,6,3,4,5,6,7}; for(i=0;i<3;i++)产生行 { for(j=0;j<5;j++)产生列 { printf("%d",arr[i][j]); } } return 0; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询