关于c语言中创建自己的strlen的几种常见方法

本文介绍了使用C语言创建strlen函数的三种常见方法:计数法,通过遍历字符数组直到遇到NULL终止符;递归法,利用函数自身实现字符串长度计算;以及指针相减法,通过找到字符串首尾指针差值得出长度。这些方法可以帮助理解C语言字符串处理的基本原理。
摘要由CSDN通过智能技术生成

 通过C语言 创建strlen的方法有很多,这里博主就列举几个常见的

1.计数法

int my_strlen(char* arr) //函数的定义:返回类型可以是有符号型也可以使用无符号型,主要看个人习惯
{
    assert(*arr);//头文件是assert.h 作用是判断传过来的参数是否有内容(可以不写)
	int count = 0;//计数器
	while(*arr) //判断*arr的值是否为0,不为0则进入循环
	{
		if (*arr)//判断*arr是否为0,不为0则进入
		{
			count++;
			arr++;
		}
	}
	return count;//返回值
}

2.递归法

int my_strlen(char* arr) //函数定义
{
	assert(*arr);
	if (*arr)
		return my_strlen(arr + 1) + 1;//*arr不为0则进入my_strlen(arr+1)中
	else
		return 0;//*arr为0则返回0
}

3.指针相减法

int my_strlen(char* arr)//函数定义
{
    asert(*arr);
	int tmp = arr;//创建临时变量记录arr数组的首元素地址
	while (*arr)//该循环目的是为了找到arr数组的末元素地址(也就是\0的地址)
	{
		if (*arr)
		{
			arr++;
		}
	}
	return arr - tmp;//末元素地址减去首元素地址就是arr数组的长度
}

以上就是博主知道的strlen的建造方法,欢迎大佬补充,斧正。也希望对大家有所帮助。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值