- 此后故乡只
-
第一种写法,等同于char a[10] = {"abc"};
第一种写法,用一个字符串赋值,实际上保存了4个字节(包含字符串结束符)。
第二种写法,只赋值了三个字节。
1、char c[5];
c[0]="H"; c[1]="e"; c[2]="l"; c[3]="l"; c[4]="o";
2、charc[5]={‘H","e","l","l","o"};
3、(1)如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预测的;
(2)如果花括号中提供的初值个数(即字符个数)大于数组长度,则按语法错误处理;
(3)如果花括号中提供的初值个数(即字符个数)小于数组长度,则只将这些字符赋给数组中前面那些元素,其余的元素自动定为空字符(即‘ ");
4、(如何将字符串赋值给字符数组)
C语言中,将字符串作为字符数组来处理的。C语言规定了一个“字符串结束标志”,以字符" "作为标志。为此,再对字符数组初始化的方法补充一种用字符串常量来使字符数组初始化方法:
char c[] = {“Hello”};
或 char c[] =“Hello”; 注意:数组c的长度不是5,而是6.
上面的初始化等价于:char c[5]={‘H","e","l","l","o"," "};
而不等价于:charc[5]={‘H","e","l","l","o"};
5、字符数组的输出
char c[] ={“Hello”};
printf(“%s”,c);
6、(如何将字符串赋值给字符数组)
strcpy(字符数组1,字符串2)
eg: char str1[10]="", str2={“Hello”};
strcpy(str1,str2);
执行后str1状态为:
H
e
l
l
o