一维数组
1.声明
extern 数组类型 数组名[长度];
2.定义
数组类型 数组名[长度]
3.初始化
3.1全部初始化
数据类型 数组名[长度] = {值1,值2,值3...};
int nums[]={1,2,3};
3.2部分初始化
数据类型 数组名[长度] = {值1,值2,值3...}
int nums[10] = {1,2,3};
4.使用
存值:数组名[下标] = 值;
取值:数组名[下标]
获取数组长度:int 长度 = sizeof(数组名)/sizeof(数组存储的数据的数据类型);
遍历:将数组中的数据逐个取出
//计算班级所有学员的总分
//1.定义一个数组
//2.存储所有学员的成绩
//3.遍历数组,将遍历出的数据相加
#include<stdio.h>
int main()
{
double scores[]={95,84,65,75,76,92,87};
double sum = 0;
for(int = 0;i<sizeof(scores)/sizeof(double);i++)
{
sum=sum+scores[i];
}
printf("sum = %.1lf\n",sum);
return 0;
}
一维字符数组
定义:char 数组名 = "字符串";
字符串输入
scanf 在输入字符串时遇到空格或回车就会结束
scanf("%s",str);
gets获取带空格的字符串
gets(str);
fgets获取带空格的字符串
stdin标准输入(键盘)
二维数组
1.声明
extern 数据类型 数组名[长度1][长度2];
extern int nums[3][5];
2.定义与初始化
全部初始化
语法1
数据类型 数组名 [长度1][长度2] = {
{值11,值12,值13...},
{值21,值22,值23...},
{值31,值32,值33...},
......
}
语法2
数据类型 数组名[长度1][长度2]={值11,值12,值13,值21,值22,值23,值31,值32,值33...};
3.使用
取值 数组名[下标1][下标2]
赋值 数组名[下标1][下标2]=值;
长度:其中一维数组的个数
int 变量名 = sizeof(数组名)/sizeof(数组名[0]);
遍历:遍历二维数组获取二维数组中的一维数组
遍历一维数组获取一维数组中的元素
for(int i = 0; i < sizeof(数组名) / sizeof(数组名[0]); i++)
{
for(int j = 0; j < sizeof(数组名[i]) / sizeof(数据类型);j++)
{
数组名[i][j]
}
}
二维字符数组
存储一维字符数组的二维数组(存储字符串的一维数组)
遍历
for(int i = 0; i < sizeof(数组名) / sizeof(数组名[0]); i++)
{
printf("%s\n",数组名[i]);
}