目录
0.0数组的基本概念
文心一言这样说:数组(Array) 是一种在大多数编程语言中都存在的数据结构,用于在单个变量中存储多个同类型元素的集合。这些元素可以通过索引来访问,索引通常是一个从0开始的正整数。
个人理解:数组从字面上理解是一些数的组合
在C语言中,数组是由一系列数据类型相同的元素组成(注意这里说的不单单是1、2、3这样的数字),在使用数组时注意声明数组的类型和元素个数。数组的特征是[ ]中括号。
这里插一句,当你学完指针之后你会发现数组其实是指针的一种展现形式,在各类书本上也常常将数组和指针放在一起来阐述,所以想学好C语言中最难的指针,先要搞明白数组。
认识数组
先来认识一下不同类型的数组
int main()
{
int code[20] /*内涵20个整形元素的数组*/、
float code[63] /*内涵63个浮点元素的数组*/
char code[100] /*内涵100个字符串元素的数组*/
}
code为数组的数组名 类型+数组名+[元素个数] 这就是一个基本的数组
1.0一维数组
1.1数组的初始化
int code [5] ={1,2,3,4,5}
上述数组 是一个标准的、合法的数组,数组大小等于元素个数。
在初始化数组时,当指定数组大小时,数组元素个数应<=数组大小,元素<数组大小时 补0
int code1 [5]= {1,2,3,4}
//这里不完全初始化 最后少一个 补0
int code2 [5]= {1,2,3,4,5,6}
//错误初始化 初始化项太多
int code3 [5]= {1,2,3,4,5}
//完全初始化
1.2设置数组为只读形式
关键字const
const int [month] = {30,31,28,29}
const int [month] = {30,31,28,29}
这样数组只可读了,不能被编辑
1.3调用数组元素
在C语言中数组是有下标的,下标就是每一个元素的名字,用数组名和下标能确定数组中的唯一一个元素,数组中的下表从0开始。假设一个数组中有n个元素,那么最后一个元素的下表就是n-1
int code [5] ={1,2,3,4,5]
#include <stdio.h>
int main()
{
int code [5]={1,2,3,4,5}
printf("%d",code[2]); //3
return o;
}
在代码中 操作符[ ],在此称为 下标引用操作符,在访问数组元素时使用
1.4计算数组元素个数
关键字: sizeof
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int code[5] = { 1,2,3,4,5 };
printf("%d\n", sizeof(code));
return 0;
}
这里输出结果,计算的是数组所占内存的空间大小,单位是字节
有时候我们已知元素个数的情况下,知道一个元素字节的大小(数组元素是相同的每个元素所占用的内存大小相同),就可计算出整个数组所占内存空间的大小。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
int code[5] = { 1,2,3,4,5 };
printf("%d\n", sizeof(code[4]));
return 0;
}
1.5其他
数组中每一项的打印通常和for循环连用,在此不在展示,可自己尝试
在计算机内存中数组中的元素储存都有其特定的位置,这里和指针相联系,在指针中详说。
1.6一维数组实例
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#define MONTHS 12
int main()
{
int day[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
int a;
for (a = 0; a < 12; a++)
printf("非闰年 %2d 月有 %2d 天\n", a + 1, day[a]);
return 0;
}
实现了非闰年各月天数的打印
2.0二维数组
2.1区分一维数组
二维数组基本形式:
int code [3][5];
double code2 [3][5];
3表示有三行,5表示每一行有5个元素
int double 是数组类型 ,code是数组名
2.2二维数组初始化
int code1 [2][5]= {1,2,3,4}
//这里不完全初始化 少的补0
int code2 [][5]={1,2,3,4,5}
//初始化时可以省略行但不能省略列
int code3 [1][5]= {1,2,3,4,5}
//完全初始化
初始化时可以省略行但不能省略列
2.3调用二维数组元素
#include<stdio.h>
int main()
{
int code[2][5] = {1,2,3,4,5, 4,5,6,7,8};
printf("%d\n",code[1][3]);
return 0;
}
在代码中 操作符[ ],在此称为 下标引用操作符,在访问数组元素时使用
数组中的下表从0开始
有关数组的基本内容就介绍到这里,当然数组的学习远不止如此简单。
有关地址的问题 将放在指针中为大家详解。
编程学习之路漫漫,行则将至,让我们共同努力。