字符数组初始化

来源:互联网 发布:amd显卡优化 编辑:程序博客网 时间:2024/06/06 03:50

1:'\0'是转译字符,意思是告诉程序,这不是字符0, 是数字0的2进制直接放进来


在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。字符串总是以'\0'作为串的结束符。
因此当把一个字符串存入一个数组时,也把结束符 '\0'存入数组,并以此作为该字符串是否结束的标志。
有了'\0'标志后,就不必再用字符数组的长度来判断字符串的长度了。

字符串结束符'\0'

1:字符数组并不要求它的最后一个字符为'\0',甚至可以不包含'\0'

a:字符数组定义大小和初始化字符大小一致,不加'\0'
b:字符数组定义大小大于初始化字符大小,其余空间编译器会自动赋值'\0'
c:不指定数组大小,直接用字符初始化字符,不加'\0'
d:不指定数组大小,用字符串直接赋值,编译器在数组后面自动加'\0'
e:指定数组大小,但不初始化,对单个数组赋值,cout输出时出现乱码!
f:如果用赋值语句"="对字符数组进行初始化,则只能在定义字符数组的同时进行,不能分成两步进行。
 例如:char str[5];   str={'h','e','e','e'};  和 char str[5];  str="hehee";是不可以的。