C风格字符串

一、C风格字符串

C风格字符串将字符串放在字符数组中,并以空字符'\0'结束,一般利用指针来操作这些字符串。尽管C++支持C风格字符串,但在C++程序中最好不要使用它们。一些用于操作C风格字符串的标准库函数定义在cstring头文件中,是C语言头文件string.h的C++版本:

strlen(p)

strcmp(p1,p2)

strcat(p1,p2)

strcpy(p1,p2)

传入此类函数的指针必须指向以空字符结束的数组,但是只要和末尾结束无关的比较还是可以不用以空字符结尾的

char c[]={'a','b','c'};

cout<<strlen(c)<<endl;//错误,c没有以空字符结束

二、比较字符串

在c++的string类中,比较字符串的操作有==、!=、>、<、>=、<=,将这些运算放在C风格字符串中,比较的是指针,而不是整个字符串:

const char c1[]="first string";

const char c2[]="second string";

if(c1<c2)//错误,试图比较2个无关的地址

实际比较的是指向数组首元素的指针,这2个指针指向的不是同一个对象,无法进行比较

主要注意两点:

  • 字符数组表示字符串时末尾要加空字符,不表示字符串时则不需要。
  • 在对字符数组表示的字符串操作时实际操作的是指向首字符的指针

转载于:https://www.cnblogs.com/StormWendy/p/8404554.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值