【新手C语言】4.0 基础数组

【引子】
有的时候,我们需要一个“集合了许多不同数据的”集合体,比如我们想要登记学生的成绩。如果我们一直创建每个学生的成绩的变量,未免太过于低效了。
数组就是这样一个“集合同类的不同变量”的东西

【数组定义】
C的数组定义很简单干练:

<类型> <名称> [所含元素数量];

int grades[100]; 
doubke weight[20];

在C99之前:元素数量必须是编译时刻确定的字面量 (不能是变量、程序运行过程中动态产生的数字)
通过下面这些代码,我们就可以完成一个计算平均值的操作:

#include <stdio.h>
int main (){
	int x ;
	double sum = 0 ;
	int cnt ;
	printf("请输入数字的数量 :");
	scanf("%d",&cnt);  //决定数组的容量
	
	if(cnt>0){
		int number[cnt];  //定义一个数组,数组的大小是我们在之前的scanf中决定的
		printf("下面输入你要平均的数");
		scanf("%d",&x);
		while (x != -1){
			number [cnt] =x;
			sum += x ;
			cnt++ ;
			scanf("%d",&x);
                      //获取数字,直到符合我们的大小要求
		}
	} 
	; return 0 ;
 }

Tips:
1.数组中的元素具有相同的数据类型
2.一旦创建,数组不能改变其大小
3.使用数组时在[]中的数字是下标/索引,下标从0开始计数(实质上计算机语言中大部分的首位都是0)
4.!!无论是编译器还是运行环境,都不会去检查下标是否越界,无论你在读还是写(segmentation fault)
5.数组中的元素在内存中是连续依次排列的
6.可以创建长度为0的数组,但是没什么锤子用

posted @ 2021-04-22 19:27  RetenQ  阅读(83)  评论(0编辑  收藏  举报