其实在之前的学习中我们已经或多或少接触到了数组,有关scanf()的安全用法中我们提到了如何避免数组溢出的问题,详情可以查看二、C语言数据类型与变量(scanf和printf (4)完)
这一章我们将详细学习数组在C语言中的应用
本章的学习链接如下:
四、C语言中的数组:数组的创建与初始化
四、C语言中的数组:数组的输入与元素个数
1.数组的概念
在 C 语言中,数组是一个用于存储一系列同类型元素的容器。一维数组是最基本的数组形式,其元素按顺序排列,并使用单个索引进行访问。
•
数组中存放的是1个或者多个数据,但是数组元素个数不能为0。
•
数组中存放的多个数据,类型是相同的。
数组分为⼀维数组和多维数组,多维数组⼀般比较多见的是⼆维数组。
2.一维数组的创建与初始化
1)基本语法
数组的基本语法涉及到其声明、初始化和访问。
(1)声明
声明:数组的声明指定了数组的类型和大小
可以依次说明数组的数据类型、数组名、数组长度并定义数组内的数据。数组中存放数据的类型,可以是: char、short、int、float 等
类型 数组名[可以规定元素的个数,也可以空];
//形如
int arr[20];//创建了一个名为arr的整型数组
int arr[5]={0};//不完全初始化
int arr[5]={1,2,3,4,5};//完全初始化
char ch[8];//字符类型
double weighth[10];//双精度浮点数类型
(2)初始化
有时候,数组在创建的时候,我们需要给定⼀些初始值。这些元素被放入花括号中,如上面的代码所示。分为完全初始化和非完全初始化,如果初始化时没有提供足够的元素,剩余的元素将被自动初始化为零。
//完全初始化
int arr1[5] = {1,2,3,4,5};
//不完全初始化
int arr2[6] = {1};//第⼀个元素初始化为1,剩余的元素默认初始化为0
//错误的初始化 - 初始化项太多
int arr3[3] = {1, 2, 3, 4};
(3)访问
通过索引访问数组元素,索引从 0 开始。例如,arr[0]
是数组的第一个元素。
2)数组类型
数组可以是任何基本数据类型(如 int
、float
、char
等),也可以是结构体或其他复合数据类型。数组类型由其元素类型决定。
3)数组在内存中的存储
数组在内存中顺序存储。在内存中,数组的第一个元素(索引为 0 的元素)存储在数组名所表示的地址处。随后的元素按顺序紧密排列。
3.示例代码
以下是一个简单的示例,演示了如何声明、初始化和访问一维数组:
#include <stdio.h>
int main() {
// 声明并初始化一个整型数组
int arr[5] = {10, 20, 30, 40, 50};
// 访问并打印数组元素
for (int i = 0; i < 5; i++) {
printf("Element at arr[%d] = %d\n", i, arr[i]);
}
return 0;
}