1数组的概念
数组是⼀组相同类型元素的集合(数组中存放的是1个或者多个数据,但是数组元素个数不能为0。 数组中存放的多个数据,类型是相同的)数组分为⼀维数组和多维数组,多维数组⼀般⽐较多⻅的是⼆维数组。
2数组的创建与初始化
2.1数组的创建
一维数组创建的基本语法为:
type arr_name[常量值]
example:
char ch[17]
type 指定的是数组中存放数据的类型,可以是: char、short、int、float 等,也可以⾃定义的类型 arr_name 指的是数组名的名字。
[ ]中的常量值是⽤来指定数组的大小的。
2.2数组的初始化
数组的初始化⼀般使⽤⼤括号,将数据放在⼤括号中。
//完全初始化
int arr[5] = {1,2,3,4,5};
//不完全初始化
int arr2[6] = {1};//第⼀个元素初始化为1,剩余的元素默认初始化为0
//错误的初始化 - 初始化项太多
int arr3[3] = {1, 2, 3, 4};
2.3数组的类型
数组也是有类型的,数组算是⼀种⾃定义类型,去掉数组名留下的就是数组的类型。
3数组的使用
3.1下标
C语言中下标是从0开始的
数组 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
下标 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
在C语⾔中数组的访问提供了⼀个操作符 [] ,这个操作符叫:下标引⽤操作符。 有了下标访问操作符,我们就可以轻松的访问到数组的元素了,⽐如我们访问下标为7的元素,我们就 可以用 arr[7] ,想要访问下标是3的元素,就可以使⽤ arr[3]
#include <stdio.h>
int main()
{
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
printf("%d\n", arr[7]);//8
printf("%d\n", arr[3]);//4
return 0;
}
输出结果为
3.2数组元素的打印
使用for循环产生所以元素的下标
#include <stdio.h>
int main()
{
int arr [10]={1,2,3,4,5,6,7,8,9,10};
int i=0;
for(i=0,i,10,i++);
{
printf("%d",arr[i]);
}
return 0;
}
输出结果为
3.3数组的输入
#include<stdio.h>
int main()
{
int arr[10]=(1,2,3,4,5,6,7,8,9,10};
int i=o
for(i=0; i<10; i++)
{
scanf("%d", &arr[i]);
}
for(i=0; i<10; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
4.一维数组在内存中的存储
数组在内存中是连续存放的
4.1sizeof计算数组元素个数
sizeof 中C语⾔是⼀个关键字,是可以计算类型或者变量大小,计算的是数组所占内存空间的总大小,单位是字节。而元素个数的计算方法是int sz = sizeof(arr)/sizeof(arr[0]);
#include <stido.h>
int main()
{
int arr[10] = {0};
printf("%d\n", sizeof(arr[0]));//计算⼀个元素的⼤⼩,单位是字节
return 0;
}
#include <stido.h>
int main()
{
int arr[10] = {0};
int sz = sizeof(arr)/sizeof(arr[0]);
printf("%d\n", sz);
return 0;
}