C语言进阶之数组①

目录

语法:

1.数组类型

2.数组名

3.[常量表达式]

数组给值:

1.初始化

2.赋值

3.数组元素的引用


为什么要使用数组?

当统计一个班级中每个人的身高体重时,需要定义很多个变量要存放,这样就会变得非常繁琐,因此提出了数组,用来批量地处理多个数据。所以我们可以对数组定义一个初步的概念:数组,就是一组相同类型数据的集合。需要说明的是数组也是一种数据类型

语法:

类型说明符   数组名  [常量表达式]

1.数组类型

也就是数据类型,包括之前学过的整型(int / short / long / long long)、浮点型(float / double / long double)、字符型(char)。它的作用是用来说明该数组中元素的类型 。

2.数组名

也就是这个数组的名字(标识符),起名规则与变量名起名规则一致:①由字母、数字、下划线组成。②不能以数字开头 ③不能与关键字、预处理命令、库函数重名。

3.[常量表达式]

[ ]  --- 代表这个就是数据类型中的数组类型

常量表达式 --- 就是数组的长度,代表数组中元素的个数

注意:(1)c99标准之后,数组长度 可以是变量,称为可变长数组,但是不能初始化 。
           (2)数组长度,可以省略,但是必须要有初始化,这是因为编译器要根据初始化的值,来                      推算实际的长度 。
              int len = sizeof(a)/sizeof(int); //计算实际长度 

int array[10]  --- 可以理解为开了10个int型的空间,每个4个字节,共40字节,相当于一下子定义

                     --- 出了10个变量。

数组给值:

1.初始化

int a[10] = { };//{ }表示初始化器,此时数组元素会全部被初始化器初始化为0

(1)全部初始化

int a[6] = {1,2,3,4,5,6};

(2)部分初始化

int a[6] = {1,2,3}; --- 未初始化的部分初始化为0

int a[6] = {0} 

(3)不初始化

int a[6] --- 里面的值可能是垃圾值(随机值)

2.赋值

     (1)循环赋值  
     (2)输入的方式赋值
   
数组特点:
   连续性 --- 数组空间是一片连续内存空间 
   有序性 --- 数组的元素挨个存放 
   单一性 --- 数组元素类型是同一类型 

3.数组元素的引用

语法:
   数组名[下标];   //   [ ] 此时表示的是数组下标运算 ,下标表示的是相对于 数组名 偏移了几个元素

数组越界 --- 编译器不会管,需要自己检查,如下图:

运行结果为:

这是由于最后一次循环时,i变成了10,而原来数组下标的最大值为9,发生了数组越界

eg :int a[10];
a 所代表的值 数组所占空间的首地址
a 所代表的数据类型 a 代表整个数组类型

判断标识符所代表的数据类型 ---去掉标识符,剩下就是标识符对应的数据类型

a所代表的类型是int[10] ,这就是所谓的 数组类型。

后续会持续更新~
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值