注意:以下的所有"boy"都可以用{“boy”}来等效代替
(1)通过字符数组直接初始化
char a1[9] = "boy";
//数组中的a1[0],a1[1],a1[2]分别对应'b', 'o', 'y',其余元素自动定为空字符
char a2[] = "boy";
//如果字符数组的定义和赋值同时进行,则可以不定义字符数组的长度
char a3[] = {
'b', 'o', 'y', '\0'};
//这样赋值需手动加上\0',否则输出有误。'\0'表示串的终结
(2)通过指针初始化
char* b1 = "boy";
//也可以写成:
//char* b1;
//b1 = "boy";
(3)使用strcpy函数初始化
char c2[6];
char c1[6] = "boy";//1
strcpy(c2, c1);//2
//1,2也可以直接用strcpy(c2, "boy");来替换
注意:使用该函数要添加头文件# include <string.h>
(4)自定义初始化
用scanf函数输入的作为字符串
char d1[10];
scanf ("%s", d1);
//d1前面不用加&
用get()函数输入的作为字符串
char d2[10];
gets (d2);
//这条语句等价于scanf ("%s", d2);
额外值得一提的是,整形数组的输出需要用到for循环,而字符串的输出则不需要。
例如:如果想输出d2,有以下两种方法:
printf ("%s", d2);
puts (d2);