大家好,今天来介绍数组和字符串定义时的注意事项。
一.数组
1.将数组中元素快速全部初始化为0的方法
如果只对数组的一部分进行初始化,则编译器会把数组的其他元素设置为0.因此,想要快速初始化数组元素为0,只需显式地将数组的第一个元素初始化为0即可。
2.数组初始化赋值注意事项
只有在定义数组时才能使用初始化,此后就不能使用了,但可以对数组元素进行逐一赋值。
例:int array[4] = {1,2,3,4}; //allowed
int array[4];
array[4] = {1,2,34}; //not allowed
二.字符串
字符串存储在数组中,如何区分字符串和数组呢,C-中,要求字符串以空字符结尾,空字符写作\0。
例如: char a1[4] = {'a','b,'c','d'};
char a2[4] = {'a','b','c','\0'};
两个都是char数组,但只有第二个是字符串。
字符串也可以用""来初始化,例如:
char a3[] = "my array";
用双引号括起的字符串隐式的包含了结尾的空字符,因此不用专门表示它,但计算数组长度时应考虑到空字符。例如:
char a4[] = 's';
char a5[] = "s";
则a4长度为1,数组中元素为s。a5长度为2,数组中元素包括s和\0.
但在拼接输出字符串时,例如:
cout<<"my n""ame is Yuki";
输出为my name is Yuki
中间是没有空格的,此时第一个字符串中的\0字符将被第二个字符串的第一个字符取代。