【C语言总结】C语言字符串、字符和字节

1.字符串基础

字符串是一串零个或多个字符,并且以一个位模式的0的NUL字节结尾。NUL字节是字符串的终止符,但是本身并不是字符串的一部分,所以字符串的长度并不包括NUL字节。

2.字符串长度

字符串的长度就是它所包含的字符个数,可以通过对字符进行计数来计算字符串的长度。

但是我们不需要这样做,C的标准库中有这样的函数。

库函数strlen的原型如下:

size_t strlen(const char* string);

注:size_t这个类型是一个无符号整数类型,在头文件stddef.h中定义。

3.不受限制的字符串函数

3.1复制字符串

用于复制字符串的函数是strcpy,原型如下:

char* strcpy(char* dst, const char* src);

这个函数把参数src字符串复制到dst函数,如果参数src和dst在内存中出现重叠,其结果是未定义的,由于dst参数将进行修改,所以它必须是个字符数组或者是一个指向动态内存分配内存的数组的指针,不能使用字符串常量。

strcpy无法判断目标字符数组的长度,所以使用strcpy时,必须保持目标参数具有的空间的大小足够,不然src里面多余的字符将覆盖原先存储与数组后面的内存空间的值。

3.2连接字符串

想要把一个字符串添加到另一个字符串后面,可以使用strcat函数,是字符串拼接函数,原型如下:

char* strcat(char* dst, const char* src);

strcat函数要求dst参数原先已经包含了一个字符串(可以是空字符串),它找到这个字符串的末尾并且把src字符串的一份拷贝添加到这个位置,如果src和dst的位置发生重叠,结果是未定义的。

3.3函数的返回值

strcpy和strcat都返回它们的第一个参数的一份拷贝,就是一个指向目标字符数组的指针,由于它们返回这种类型的值,所以可以嵌套的调用这些函数,例:

strcat(
  • 4
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值