c++中字符数组与字符串的关系

(1)字符数组形式初始化

char c[2];//随机分配值

cout<<c;//输出字符串的意思,cout会直到截至符才停止的,输出为烫烫。。。。

char c[2]={'f'};//c[1]的值为\0;

cout<<c;//只会输出f,因为系统自动添加截止位了,输出为f

char c[2]={'f','u'};

cout<<c;//输出字符串的意思,cout会直到截至符才停止的,所以输出是fu后面会出现烫烫...

(2)字符串形式初始化

char c[2]="fu";//系统报告错误,因为如果按字符串使用字符数组,要留一位\0的

char c[2]="f";//正确

总结:字符数组虽然可以当作字符串来用,但是有限制。

 第一初始化时要预留一位\0(系统会默认添加),输出字符串时才可以不至于烫烫

 第二输出时cout<<str,str为数组名,cout当检测要输出字符串时,输出规则时直到遇到\0时才会停止,这也是烫烫的原因

猜你喜欢

转载自blog.csdn.net/feng__shuai/article/details/66972336