字符串的初始化(详解)

注意:以下的所有"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);

猜你喜欢

转载自blog.csdn.net/qq_52607834/article/details/116488184