C语言中的字符串,也叫c串

在C语言中,字符串常量是指用一对双撇号括起来的字符序列。如

“Hello World” ,  “CHINA" , "a"


C规定: 在每一个字符串的结尾加一个”字符串结束标志“,以便系统据此判断字符串是否结束。

C规定:以字符"空操作字符“(即不引起任何控制动作,不同于空格字符)作为字符串的结束符标志,TA的ascii值为0,表示为'\0',也是一个不可显示的字符。


C语言中,字符串变量是以字符数组存储的(不是以字符指针或者字符指针数组存储的),如:

char cstr[ ] = "Hello World";   <=> char cstr[12] = "Hello World";

Hello World\0

所占栈内存不是11个字节,而是12个字节,最后一个字节为‘\0',编译器自动加上去的。


另外也可以这样初始化一个字符串变量:

char cstr[ ] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '\0' }


strcpy strlen等等c函数都是按’\0‘ 来判断c串是否结束的,比如:

strlen(cstr) = 13;


如果:char cstr_2[ ] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd' }, 或者 char cstr_2[11] = "Hello World";

strlen(cstr_2) = 不确定

因为这两种赋值的结果是cstr_2都不是c串了,而是字符数组了,说明c串只是字符数组中的一种而已。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值