一、数组
int a[5];
a={1,2,3,4,5}; //错误
char b[5];
b="xiao"; //错误
- 只有字符类型的数组(一维)可以使用输入函数和输出函数进行 整体输入 和 整体输出 也可以使用数组名加索引进行单个内存的输入和输出,而其他类型的数组使用输入函数和输出函数都只能使用数组名加索引进行单个内存的输入和输出 (字符类型的数组在使用输入函数输入一个字符串时 不需要双引号 ①)
char a[4];
cin>>a; //正确
cout<<a; //正确
cin>>a[0]; //正确
cout<<a[0]; //正确
int b[4];
cin>>b; //错误
cout<<b; //错误
cin>>b[0]; //正确
cout<<b[0]; //正确
- 注意①:给字符类型的数组赋值字符串时,字符串的长度最大都只能等于 数组的长度-1(因为字符串实际上是以 空字符'\0' 终止的一维字符数组)
char a[4]="xiao"; //错误
char a[4]="xia"; //正确
- 注意②:字符数组可以给其中的每个内存都赋值非空字符'\0'的字符,但是如果这样的话这个字符数组就无法被当作字符串进行处理
char a[4]={'x','i','a','o'}; //这个字符数组无法被当作字符串进行处理
char a[4]={'x','i','a'}; //这个字符数组可以被当作字符串进行处理
二、char和string类型的变量
- char类型的变量使用赋值运算符“=”赋值时,右值的字符必须带有单引号,例如 'a'
char A='a';
- string类型的变量使用赋值运算符“=”赋值时,右值的字符串必须带有双引号,例如 "abcd"
string B="abcd";
- 对char类型的变量使用输入函数时不需要单引号,例如 a ②
- 对string类型的变量使用输入函数时不需要双引号,例如 abcd ③