C语言:数组

1、数组基本内容:

数组使用

       下标

       数组读写数据

       数组的使用案例

二维数组

2、数组的概念及使用

      a. 数组就是存储多个相同数据类型的数据。

       b.先定义再使用

1.数组定义的格式

存储数据---空间  ---- 数据类型

              多少个 --- 数据个数

              >> 数据类型 数组名[数据个数];

              标识符: 数字 字母 _ $

                             不能以数字开头 

                             不能和关键字重复

例:

                     存储班级的平均分--班级有20个人

                     存储数据 -- 成绩 --- float

                     数据个数:20

                     float scores[20];

2、数组的下标

              定义数组后,数组会为空间进行编号,0开始,到数据个数-1 ---- 规定

              用数组的时候切记不要超标

3、数组的空间访问

              数组名[下标]

             ------------------------------------------------------------------------------------------------------------

              | // 数组定义 -[总个数]     |      // 数组使用 --- [下标]                     |

              ------------------------------------------------------------------------------------------------------------

              | int a[5];                 |      // a[0]  a[1]  a[2]  a[3]  a[4]  ---- int        |

              ------------------------------------------------------------------------------------------------------------

例:

int a[5];
		
		a[0] = 10;
		a[1] = 20;
		a[2] = 90;
		a[3] = 45;
		a[4] = 5;
		
		// int res;
		// res = (a[0] + a[1] + a[2] + a[3] + a[4]) / 5;		
		// printf("%d\n",res);
		
		// 把数组中的所有数据输出一下
		// printf("%d ",a[0]);
		// printf("%d ",a[1]);
		// printf("%d ",a[2]);
		// printf("%d ",a[3]);
		// printf("%d ",a[4]);

练习:

//定义一个数组用来存放10个int的数据,通过输入的形式往空间里面赋值。		
		//1、输出每个空间的数据
		//2、求这一组数据中的最小值和最大值
		
		#include <stdio.h>
		int main(void)
		{
			int arr[10],i,max,min;   // 最小数和最大数的下标
			printf("Please input 10 integer numbers:\n");
			for(i=0;i<10;i++)
			{
				scanf("%d",&arr[i]);
			} 
			printf("输入的10个数如下:\n");
			max=min=0;
			for(i=0;i<10;i++)
			{
				printf("%d ",arr[i]);
				if(arr[max]<arr[i])
				{
					max=i;
				}
				if(arr[min]>arr[i])
				{
					min=i;
				}
			}
			printf("\n最大值是:%d\n最小值是:%d\n",arr[max],arr[min]);
			return 0;
		}

4、数组的初始化

              初始化就是定义时候给

              int a;  // 定义

              a = 10; // 赋值

              int a = 10;  //a初始化

              ----------------------------------------------        

              int a[5] = {1,7,9,10,20};

              int b[5] = {1,2,3};         // {1,2,3,0,0}初始化的时候没有赋值的空间补0

              int c[5] = {1,2,3,4,5,6,7}; // {1,2,3,4,5} 初始化超出部分舍弃

              // 省略个数的初始化,后面{}有几个值就开几个空间

              int d[] = {1,2,3};    //int d[3] = {1,2,3};

              错误:不要写 不要写 不要写!!!!

                     int e[];  //定义的时候不能省略,不然不知道开多少空间            

                     int f[] = {};  // 不会开空间       

                     int t[] = {0}; // 开1个空间 ,没有必要用数组了

             

                     注意:数组只能在初始化的时候整体赋值。

                     int a[5];

                      a = {1,2,3,4,5}; // 错误的,数组名是一个常量 ,通常情况下是数组首元素地址0x0062fe50   

5、数组要素分析:

       -- 数组的定义上看      

               数组中数据的类型(元素类型):除了 数组名[数据个数] 剩下的就是里面存放的数据的类型

              数组的类型:                除了 数组名  剩下的就是数组的类型

              数组名:                    数组名称[]前面的

---------------------------------------------------------------------------------------------------------------------------------例:

              int a[5];

                     数组中数据的类型(元素类型): int

                     数组的类型:int [5]

                     数组名:a

                     数据个数:5

             

              int *b[3];

                     数组中数据的类型(元素类型):  int *

                     数组的类型:int *[3]

                     数组名:b

                     数据个数:3

                    

              void (*p[3])(void);

                     数组中数据的类型(元素类型):  void (*)(void)

                     数组的类型:void (*[3])(void);

                     数组名:p

                     数据个数:3

                    

------------------------------------------------------------------------------

总结:

数组的概念

数组使用 

       定义:数据类型 数组名[数据总个数];

       数组下标:0 ~ 数据个数-1

       数组访问空间:数组名[下标]

       数组初始化

       数组的要素分析  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值