C语言之数组

目录

数组

一维数组

一维数组初始化

一维数组的输入输出

二维数组

二维数组初始化

二维数组的输入输出

字符数组

字符数组初始化

字符数组的输入输出


数组

定义:是一组具有相同类型的数据的有序集合。

注:

  • 数组中的各数据的排列是有一定规律的,下标代表数据在数组中的序号。
  • 不能把不同类型的数据放在同一个数组中。
  • 用一个数组名和下标来唯一确定数组中的元素。

一维数组

定义格式:类型说明符 数组名[常量表达式]

说明:

  • 类型说明符:数组的类型。
  • 数组名命名规则和变量名相同,遵循标识符命名规则。
  • 常量表达式可以包括常量和符号常量,但不能包含变量。
  • 常量表达式指明数组中元素的个数,必须大于0.
  • 数组名后是用方括号而不是圆括号。
     

  • 下标个数为数组维数
  • 方括号内的数值为数组长度
  • 数组成员称为数组元素
  • 数组元素的类型称为数组基类型

一维数组初始化

定义:在数组定义时为数组元素赋初值。

初始化方法:
1.在定义数组时对数组元素赋以初值。
方法:将数组元素的初值依次放在一对花括弧内。
eg.int a [10]={2、3、4、5、6、7、18、20、45、43、90}
2.可以只给一部分元素赋值,其他按0处理。
eg.int a [10]={0、1、2、3、4}后5个元素为0
3.对全部数组元素赋初值时,可以不指定数组长度。
4.一维数组赋初值的个数不能超过数组总元素的个数。
 

C语言规定,只能引用单个数组元素,不能一次引用整个数组

引用形式:数组名[下标]
说明:下标指在数组中第几个元素
下标可以是整型常量、整型变量和整型表达式
下标的值是数组元素序号,从0开始,到n-1结束
 


一维数组的输入输出

可以对数组中任何一个元素进行单独的输入输出,每个元素等同于一个普通变量。
数组的引用离不开循环。将数组的下标作为循环变量,通过循环,就可以对数组的所有元素逐个进行处理。
 


二维数组

一般形式:类型说明符 数组名[常量表达式1] [常量表达式2];
其中:常量表达式1为行数;常量表达式2为列数

注意:
一对方括号内不能写两个下标;例如:float a[3,4]
数组元素个数必须是常量表达式,不能使用变量。例如:int i=2;j=4; int a[i][j];
用于定义数组长度的常量表达式必须为大于0的正整数。例如:int a[0][4];
 

C语言中,二维数组元素在内存中排列顺序是按行存放的。
 


二维数组初始化

1.分行给二维数组赋初值。(最清楚直观)
例如:
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
2.可以将所有数组写在一个花括号内,按数组元素在内存中排列顺序对各元素赋初值。
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}
3.可以对部分元素赋初值。
例如:int a[3][4]={{1},{5},{9}};
可以对各行中的某一元素赋初值。
int a[3][4]={{1},{0,6},{0,0,0,11}};
也可以只对某几行元素赋初值。
int a[3][4]={{1},{5,6}};
4.如果对全部元素都赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。

二维数组的引用

说明:数组名a代表的是数组a在内存中的首地址,可以用数组名a代表数组元素a[0][0]的地址。数组名是常量,不可赋值。

二维数组元素引用与一维数组元素引用一样,也要采用下标法。
二维数组元素的引用形式:数组名[下标1][下标2]
注意:下标不要越界

二维数组的输入输出

采用双重循环方式进行。
 


字符数组

定义:用来存放字符数据的数组
C语言用字符数组存放字符串,字符数组中的各元素依次存放字符串的各字符。
定义格式:char 数组名[常量表达式]
强调:

字符串实际占有单元的数量等于字符串长度+1。
定义时注意考虑元素总个数应比实际长度多1。


字符数组初始化

1.用单个字符对字符数组初始化
说明:

  • 如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。
  • 如果花括号中提供的初值个数(即字符个数)大于数组长度,则出现语法错误;
  • 如果提供的初值个数与预定的数组长度相同,定义时可省略数组长度,系统会自动根据初值个数确定数组长度。
  • 如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即‘\0')。

2.用字符串常量对字符数组初始化
说明:

  • 将字符串储存到字符数组中,字符串和第一个‘\0’构成有效字符串。对字符串的操作,就是对字符数组的操作。
  • 普通数组中的元素是确定的,一般用下标控制循环;而字符串使用结束符‘\0’来控制循环。

字符数组的输入输出

1.单个字符的输入输出(用格式符%c或字符输入函数)
2.字符串整体或部分输入输出(用格式符%s)
说明:

  • 输入输出项必须是以字符串的地址形式出现;
  • 也可以是字符串常量:printf("%s\n","book")
  • 只能输入不包括空格、\t和\n的字符串;
  • 若要输入空格,用gets函数;
  • 数组名前不加&符号。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值