字符数组
字符数组的定义
char 数组名[数组容量];
char array_ch[0] = ‘u’;
char array_ch[1] = ‘u’;
char array_ch[2] = ‘s’;
char array_ch[3] = ‘u’;
char array_ch[4] = ‘a’;
char array_ch[5] = ‘y’;
要把一个数组赋值为’a’到’z’,实现代码如下:
#define MAX_CHAR 26
…
int i = 0;
char array_ch[MAX_CHAR];
for (i = 0;i < MAX_CHAR; ++i){
array_ch[i] = ‘a’ + i;
}
定义字符数组时,同样要求指定数组容量大小,并且必须使用常量表示。
由于char型可视为字节为1字节的整数,所以可以使用整形数组来存储字符。但由于int型为4字节,所以会浪费空间。下列代码展示如何使用字符数组和int数租来存储字符。
#include <stdio.h>
#define ARRAY_LENGTH 9
int main(void){
char array_ch[ARRAY_LENGTH];
int array_int[ARRAY_LENGTH];
int i = 0;
for(i = 0;i < ARRAY_LENGTH; ++i){
array_ch[i] = 'A' + 1;
array_ch[i] = 'a' + 1;
}
printf("Output the elements in array_ch:\n");
for(i = 0;i < ARRAY_LENGTH; ++i){
printf("array_ch[%d] = [%c]\t",i,array_ch[i]");
if(i % 3 == 2)
printf("\n");
}
printf("Output the elements in array_ch:\n");
for(i = 0;i < ARRAY_LENGTH; ++i){
printf("array_ch[%d] = [%c]\t",i,array_int[i]");
if(i % 3 == 2)
printf("\n");
}
printf("\nsizeof(array_ch) = %d\n",sizeof(array_ch));
printf("sizeof(array_int) = %d\n",sizeof(array_int));
return 0;
}
字符数组的初始化:
为所有元素赋值:
char array[6] = {‘q’,‘w’,‘h’,