函数的介绍

10 篇文章 0 订阅
5 篇文章 0 订阅

 strlen函数常用来计算字符串的长度

第一个注意点是该函数是以/0为结束标志的,所以如果初始化的数组是 char arr[]={'a','b','c'}; 的话,strlen会生成一个随机值,因为该数组没有明确的定义/0的位置。

下面是strlen函数的模拟实现

此处还要注意strlen返回的值为无符号类型,在进行无符号整型类型的运算的时候不会出现负数,

如下面的代码就会出错

因为无符号整型类型的数运算不会得到负数,所以该代码的目的无法达成。

因为源字符必须以'\0'结束,所以不能使程序找不到\0,不然无法正确运行

 上面例子就是找不到\0的情况。

另外被赋予值的目的不能空间太小,防止存不下复制的内容,如以下代码

还有就是 被赋予值的目的地应是可修改的空间,而不是固定的空间,如以下代码就是不可修改而导致报错

 

该函数称为字符串追加,有两种追加方式

第一种如下

第二种如下

即为字符串追加既可以直接追加字符串也可以追加存放字符串的数组,

追加的地方是从被追加数组的’ \0 ‘ 开始向后替换。 在追加的结束位置依然是以 ‘\0’ 为标志,在最后 \0 被追加过去后结束。

下面是strcat(字符串追加函数)的模拟

当然,strcat不能使用字符串追加字符串,因为在追加的时候会将‘\0’覆盖掉,使函数无法停下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值