网站描述怎么修改,flash制作网页,公司网站建设457216336,企业网站排名优化公司C语言程序设计笔记---022 C语言之模拟实现strlen函数1、介绍strlen函数2、模拟strlen函数的三种方法2.1、计数器法模拟实现strlen函数2.2、递归法模拟实现strlen函数2.3、指针减指针法模拟实现strlen函数 3、结语 C语言之模拟实现strlen函数
前言#xff1a; 通过C语言字符串… C语言程序设计笔记---022 C语言之模拟实现strlen函数1、介绍strlen函数2、模拟strlen函数的三种方法2.1、计数器法模拟实现strlen函数2.2、递归法模拟实现strlen函数2.3、指针减指针法模拟实现strlen函数 3、结语 C语言之模拟实现strlen函数
前言 通过C语言字符串函数的知识这篇将对strlen函数进行深入学习底层的知识并模拟实现对应功能。
/知识点汇总/
1、介绍strlen函数
函数原型size_t strlen( const char string ); 函数功能返回参数的字符串长度 头文件string.h 使用注意事项 (1)、以双引号初始化括起来的字符串自动识别’\0’字符串结束标志位如“abcdef”本质是“abcdef\0” (2)、以数组大括号初始化字符元素时需手动添加‘0’字符串结束标志位如{‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘\0’} (3)、strlen函数的参数是char类型接收对象是地址不是类型占内存的大小,不包括’\0’strlen是不会计算’\0’之后的长度的。 示例代码如下
#include stdio.h
#include string.h
//使用strlen函数需要调用头文件 ---- string.h
int main()
{char arr[] hello;printf(%d\n,strlen(arr));//计算字符串长度不包括\0char arr2[] {a,b,c,d,e,f,\0};printf(%d\n,strlen(arr));//计算字符串长度不包括\0return 0;
}
2、模拟strlen函数的三种方法
2.1、计数器法模拟实现strlen函数
#include stdio.h
size_t my_strlen(char* str)
{size_t count 0;while (*str ! \0){count;}return count;
}
int main()
{char arr[] abcdef;size_t len my_strlen(arr);printf(%zd\n, len);return 0;
}2.2、递归法模拟实现strlen函数
#include stdio.h
size_t my_strlen(const char* str)
{if (*str \0)return 0;elsereturn 1 my_strlen(str 1);
}
int main()
{char arr[] abcdef;size_t len my_strlen(arr);printf(%zd\n, len);return 0;
}2.3、指针减指针法模拟实现strlen函数
#include stdio.h
size_t my_strlen(const char* str)
{char* ret str;while (*str ! \0){str;}return str - ret;}
int main()
{char arr[] abcdef;size_t len my_strlen(arr);printf(%zd\n, len);return 0;
}3、结语
学习函数的最实用的方式就是用自己的逻辑简单实现一些类似的功能 半亩方糖一鉴开天光云影共徘徊。 问渠哪得清如许?为有源头活水来。–朱熹观书有感