字符数组与字符串
1. 1 维字符数组:
用于存储和处理 1 组字符或 1 个字符串,其定义格式与 1 维数值数组一样。
如:char c1[10];
int c2[10];
2. 2 维字符数组:
用于同时存储和处理多组字符或多个字符串,其定义格式与2 维数值数组一样。
如:char c1[10][20];
int c2[10][20];
字符数组的初始化,可以通过为每个数组元素指定初值字符来实现。
如: char c[10]={‘I’,’□’,’a’,’m’,’□’,’h’,’a’,’p’,’p’,’y’};
char c2[ ]={‘c’,’h’,’i’,’n’,’a’};
char d[2][3]={{‘□’,’*’,’□’},{‘*’,’□’,’*’}};
字符数组的逐个字符引用,与数值引用数组元素类似。
例:main()
{ char c[10]={‘c’,’h’,’i’,’n’,’a’};
int i;
for (i=0;i<10;i++)
printf(“%c”,c[i]);
printf(“\n”);
}
字符串:
1.字符串及其结束标志
所谓字符串,是指若干有效字符的序列。
C 语言中的字符串,作为字符数组来处理,可以包括字母、数字、专用字符、转义
字符等。
C 语言规定:以‘\0’作为字符串结束标志(‘\0’代表 ASCII 码为 0 的字符,表示一个“空
操作”,只起一个标志作用)。因此可以对字符数组采用另一种方式进行操作了──字符数组
的整体操作。
注意
:由于结束标志也要在字符数组中占用一个元素的存储空间,因此在说明字符
数组长度时,至少为字符串所需长度加 1。
注意
:由于系统在存储字符串常量时,会在串尾自动加上 1 个结束标志,所以无需人为
地再加 1 个。