学习目标:
掌握字符数组的概念
掌握字符数组的定义和引用
重点:
字符数组的遍历方法
一、字符数组的定义
存放字符数据的数组;每一个元素存放一个字符。
1.一维字符数组的定义
char 数组名[常量表达式];
例如:char c[10];
定义c为一维字符数组,该数组包含10个元素,最多可以存放10个字符型数据。
2. 二维字符数组的定义
char 数组名[常量表达式1][常量表达式2];
例如:char str[3][20];
定义a为二维字符数组,该数组有3行,每行20列,该数组最多可以存放60个字符型数据。
说明:在C语言中,很多情况下字符型与整型是通用的,因此字符型数组也可以这样定义:
int c[10];
int str[3][20];
3.字符数组的初始化
字符数组的初始化方式与其它类型数组的初始化方式类似。
1)逐个元素赋初值
例如:char c[5]={´C´,´h´,´i´,´n´,´a´};
2)如果初值的个数多于数组元素的个数,则按语法错误处理。
例如:char c[5]={´C´,´h´,´i´,´n´,´a´, ´f´}; //错误,多一个元素
3)如果初值的个数少于数组元素的个数,则C编译系统自动将未赋初值的元素定为空字符(即ASCII码为0的字符:´\0´)。
例如:char c[5]={´C´,´h´,´i´};//正确,后面元素自动定为空格
等价于:char c[5]={´C´,´h´,´i´,´\0´,´\0´};
1)如果省略数组的长度,则系统会自动根据初值的个数来确定数组的长度。
例如: char c[ ]={ ´H´, ´o´, ´w´, ´ ´, ´a´, ´r´, ´e´, ´ ´, ´y´, ´o´, ´u´, ´?´};//数组c的长度自动设定为12。
4.字符数组的引用
1)可以逐个引用数组元素,引用方式同整型数组引用方式。
2)同样要注意引用时越界错误。
例如:char c[5]={´C´,´h´,´i´,´n´,´a´};
printf(“%c”,c[2]);//输出结果为字符‘i’
printf(“%c”,c[5]);//如此引用错误,越界
二、 字符数组应用举例
1.例7.5:字符数组的遍历输入输出。定义一个字符数组c[5],进行初始化,然后输出。
2.例7.6输出钻石图形
1)在例7.5中代码中第7行代码中的%c换成%d,结果会怎么样?

