字符串

字符集指一个系统支持的所有抽象字符的集合。

常见的字符集主要有ASCII 字符集,Unicode字符集,GB2312字符集等。

ASCII 字符集

  该字符集存储字符个数有限,为了消除这个缺陷,使各种语言可统一编码,双字节编码应运而生。在双字节字符集中,一个字符可有1个或2个字节组成。这就是UTF编码,即通常所说的Unicode码。

windows系统底层全部采用Unicode编码,Linux则采用UTF-8编码。


只有以NULL介绍的字符数组才是字符串,否则只是一般的字符数组。

char szName[]="Steve Jobs";

strlen(szName)=10;

sizeof(szName)=11;


C字符串,可以利用“=”进行初始化,但初始化之后,不能利用“=”对C字符串进行赋值操作。

 char szName[]={"1","2","3"};      strlen(szName)=>3;这样会出现问题。

 char szName[3]="123";              strlen(szName)=3;

strlen计算的字符串长度是不包括NULL在内的字符串长度。NULL是字符串的必要组成部分,但不占用字符串的长度。

所说的字符串地址是指字符串的首元素的内存地址。


注意事项:

在创建动态字符串数组时,通过new 或 malloc申请内存时,一定要考虑到NULL也占用空间,以防止字符串因为无NULL结束符,而导致无法预测的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值