c++中的char

这个是从c传承下来的,如果可行,还是建议用string,会省劲很多。

首先当使用char*或者char[]来表示字符串时,加上string.h头文件来调用库函数,或者#include <iostream>本身也带着

1、char
char只表示一个字符,若重复赋值,则或者会覆盖前者:
char ch='qwqewqe';
cout<<ch<<endl;
输出:e
因为char只有一个字符,后者会覆盖前者。

2、char * src表示字符串
char *src="qwqewqe";
cout<<src<<endl;
这里的src为指针,指向的就是该字符串的首地址开始表示的内容 。可以使用src[i]获取第i的字符;也可以使用src+i代表第i个字符,可以使用src获取整个串,可以使用&src获取存放该字符串首地址。

这里如果想使用printf输出,只能使用src,不能加&

3、char src[]表示字符串

char src[]="qwertyu";
使用src[i]获取第i个字符:
cout<<src[0]<<" "<<src[1]<<" "<<src[2]<<endl;
使用src获取整个字符串:
cout<< src<<endl;
使用&src获取首地址:
cout<< &src<<endl;
在使用 printf时,加不加&都是可以的

4.

char dst[]="fsdfsd";//这里的字符串作为局部变量,都在栈区,可以被改变,字符串中的单个字符可被改变
char *src="fsdfsd";//这里的字符串作为常量,放在常量区(不能改变),而dst放在栈区,当改变字符串的值时程序会崩溃,如果改的时候就直接改掉整个字符串
例如 执行:dst[0]='1'; 没有问题
但是执行 src[0]='1'; 程序就会崩溃!!
因此若调用函数对字符串进行修改时,应该定义成dst[]的形式,而不能是*dst的形式!!

也就是说,char*其实是是const char 类型,而char[]其实是char const类型

原文链接: https://www.cnblogs.com/uestc-du/p/16337611.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c++中的char

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/189879

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午3:46
下一篇 2023年2月12日 下午3:46

相关推荐