定义与初始化
方法1
字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。
char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};
即把10个字符分别赋给str[0]到str[9]10个元素
- 如果花括号中提供的字符个数大于数组长度,则按语法错误处理;
- 若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即
‘\0’ )。
方法2
用字符串常量来初始化字符数组:
char str[ ]={"I am happy"}; 可以省略花括号,如下所示
char str[ ]="I am happy";
注意1
上述这种字符数组的整体赋值只能在字符数组初始化时使用,不能用于
字符数组的赋值,字符数组的赋值只能对其元素一一赋值,下面的赋值方法是
错误的
char str[ ];
str="I am happy";
``
# 字符数组与字符串
在c 语言中,将字符串作为字符数组来处理。(c++中不是)
> C 语言规定了一个“字符串结束标志”,以字符'\0’代表。如果有一个字
符串,其中第10个字符为'\0',则此字符串的有效字符为9个。也就是说,在遇到
第一个字符'\0'时,表示字符串结束,由它前面的字符组成字符串。
#### 注意2
数组str 的长度不是10,而是11,这点请务必记住,因为字符串常量"I am happy"
的最后由系统自动加上一个'\0')
# 参考链接
https://www.cnblogs.com/kungfupanda/archive/2012/06/15/2456931.html