c++中的不同char区别

c++本质上没有string类型

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

1、char
char只表示一个字符,若重复赋值,则或者会覆盖前者:

// An highlighted block
char ch='qwqewqe';
cout<<ch<<endl;

输出:e
因为char只有一个字符,后者会覆盖前者。

2、char * src表示字符串

// An highlighted block
char *src="qwqewqe";
cout<<src<<endl;

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

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

3、char src[]表示字符串

// An highlighted block
char src[]="qwertyu";

使用src[i]获取第i个字符:

// An highlighted block
cout<<src[0]<<" "<<src[1]<<" "<<src[2]<<endl;

使用src获取整个字符串:

// An highlighted block
cout<< src<<endl;

使用&src获取首地址:

// An highlighted block
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类型

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值