前言 :数组这章小编分了三篇文章来讲解,这篇文章主要讲的是一维数组,剩下ppt中的内容,小伙伴可以在C语言专栏中找到
1. 数组的概念:
数组是一组 相同类型 元素 的 集合
概念中有个两个特别重要的点
①数组中存放的是1个或者多个数据,但是元素个数不能为0
②数据中存放的所有数据,类型是相同的。
数组分为一维数组和多维数组(多维数组二维数组运用比较多)
2. 一维数组的创建和初始化
2.1数组的创建
基本语法: type arr_name [ ]
type :是数组中放的数据的类型
arr_name:是数组名称,可以根据用处来起
[ ]:里面填常量值,表示数据的大小
例子:想要存储一个班30人成绩(保留一位小数)那我们可以创建一个数组: double arr [30]
2.2数组的初始化:
数组创建完后,我们需要给数组初始化,如何初始化呢,我们把初始化的数据一般放在大括号里面,初始化又分了两大类:
①://完全初始化int arr [5]={1,2,3,4,5}
②://不完全初始化int arr [5]={1}第一个元素为1,在数组里剩下没有初始化的元素默认为0
这里再举例一种错误的初始化int arr [5]={1,2,3,4,5,6},为什么错误呢,因为数组的大小是5,但是他放了6个元素,我们理解过载,撑爆了。)
2.3数组的类型
我们在2.1提到说int arr_name [ ]中的int是元素的类型,那么数组的类型是什么呢,数组的类型很简单,去掉数组名,就是数组的类型,举个例子:int arr_name [ 10]的数组类型就是int [10]。)
3一维数组的使用
数组已经创建好了,那么我们如何去使用数组呢?
3.1下标引用操作符
首先我们要知道“[ ]”就是是下标引用操作符,在c语言中数组是有下标的,下标是从0开始的,当我们要访问数组里面的数据,那么我们就可以利用下标引用操作符才访问自己想要的元素,举个例子:现在我们创建一个数组int arr [5]={1,2,3,4,5},当我们想要访问3这个元素时候,那我们这样使用下标引用操作符arr[2]。
3.2数组的打印
数组的打印也是非常简单的,我们可以借助for语句来,循环产生下标,再借助下标访问数组就可以,这里举了个代码例子:
#include<stdio.h>
int main()
{
int arr[10]={1,2,3,4,5,6,7,8,9,10};
for(int 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};
for(int i=0;i<10;i++)
{
scanf("%d",&arr[i]);
}
for(int i=0;i<10;i++)
{
printf("%d",arr[i]);
}
return 0;
}
这样我们第一个for循环实现了数组的输入,第二个for实现了数组的打印。
4一维数组在内存中的存储
一维数组在内存中如何储存的呢?下面让我们运行下面的代码
#include<stido.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
for (int i = 0; i < 10; i++)
{
printf("&arr[%d]=%p\n", i, &arr[i]);
}
return 0;
}
得出的结果:
从运行结果中发现,随着下标的增长,地址是又由小变大,并且两个相邻的元素之间相差他类型的大小(int类型就差4个字节,double类型就差8个字节),由此我们可以得出重要结论,数组在内存里面是是连续存放的
5sizeof计算数组的元素个数
首先我们了解下sizeof的功能,它是计算数据类型或者变量的大小的。
那么我们构思下,我们可以先算出整个数组的大小,因为数组的每个元素大小都相等,那么我们除以单个元素的大小。
总数组大小的算法如下:
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("%d", sizeof(arr));
return 0;
}
单个元素大小算法如下:
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("%d", sizeof(arr[i]));
return 0;
}
根据我们上面的思路,我们的元素个数算法如下:
#include<stdio.h>
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
printf("%d", sizeof(arr)/sizeof(arr[0]);
return 0;
}
这样我们就算出了元素大小
总结:一维数组我们就已经讲完了,其他部分欢迎在c语言专栏去学习。