5.3字符数组和字符 字符数组和字符 串
字符数组是用来存放字符型数据 的数组,字符数组中的每一个元素存 放一个字符,字符数组可以存放字 符串.
5.3.1字符数组的定义 字符数组的定义
字符数组的定义与普通数组类似,形式为: 类型说明符 数组名[常量表达式]; 其中,char是字符型数据类型说明符,常量表达 式表示数组的元素的个数,即数组的长度,字符 数组的每一个元素存放一个字符. 例如: char c[5]; 定义字符数组c包含5个元素即5个字符,或者存放 一个长度不大于5的字符串. 字符数组同样有二维和多维的,如: char c[3][4]; 定义了一个3行4列的字符数组.
从上例看出数组元素只能逐个赋初值,比较的时候也是逐 个进行比较,通过数组的下标来区分数组元素.
5.1.3一维数组的初始化 一维数组的初始化
数组元素的赋初值和普通变量一样,数组初始化的 一般形式如下: 数据类型 数组名[常量表达式]={初值表}; 对数组元素的赋初值有下面几种情况: 1.一维数组可以在定义时可以对全部数组元素进行初始化, 数据间用逗号隔开.例如: int a[6]={1,3,5,7,9,11}; 经过上述初始化后, a[0]=1,a[1]=3,a[2]=5,a[3]=7,a[4]=9,a[5]=11.在这种情况 下,数组长度可以省略,即int a[ ]={1,3,5,7,9,11};
图5.5
5.3.4字符串及其常用函数 字符串及其常用函数
字符串是用双括号括起来的字符序列.在C语言中, 没有专门的字符串变量,而在实际的编程工作中, 字符串的应用又非常广泛,如:人的姓名,身份 证号码,产品编号等,为了解决这个问题,我们 使用字符数组来存放和处理字符串. 1.字符串的表示方式
字符数组的长度和字符串的有效长度很多时候是不同的,而 人们往往关心的是字符串的有效长度,为此,C语言规定 以'\0'作为字符串的结束标志,当遇到'\0'时,表示字符串 结束. 系统对字符串常量也自动加一个'\0'作为结束标志.例如字符 串"student"有7个字符,在内存却要占用8个字节,因为最 后一个字节用来存放字符'\0'. 从ASCII码表中可以查到,'\0'的ASCII码为0,它不是一个可 以显示的字符,在字符串中仅作为字符串的结束标志.