模拟实现库函数strlen
来源:互联网 发布:网络短信平台免费 编辑:程序博客网 时间:2024/06/05 18:21
库函数 strlen
求字符串长度,当遇到‘\0’时,停止计算;关于这个函数的声明以及头文件,通过msdn了解一下:
首先分析一下实现过程:
首先给定字符串,必定占一定的内存空间,计算大小时,我们可以通过计数的方法来计算字符串的长度,每遇到一个字符,计数器加 1,直到遇到‘\0’停止计算。
下面实现自己的函数:
#include<stdio.h>#include<assert.h>int my_strlen(const char *str){ int count = 0; assert(NULL != str); while (*str) { count++; str++; } return count;}int main(){ char arr[] = "hello world"; int ret = my_strlen(arr); printf("%d\n", ret); return 0;}
需要注意的地方:
1) const 的使用;const在这里保证了 str 的健壮性, 防止str 被修改的可能。
2) 函数返回类型;求字符串长度,必然返回的是大小,故而返回类型是整型。
int my_strlen(const char *str)
3)字符串长度的范围;求字符串长度时不计算‘\0’, 故而在遇到‘\0’时不进入循环,此时应注意 while 循环的条件
while (*str)
4) assert 断言的使用;防止传参的过程中发生错误,例如:传过来目标空间为空,这里会报错;在使用断言后,提高了代码的质量。
assert(NULL != str);
阅读全文
0 0
- 模拟实现库函数strlen
- 模拟实现strlen,strcpy,strcmp,strcat,strstr库函数
- 库函数strlen的实现
- 自己模拟strlen库函数写的功能函数my_strlen实现strlen的功能,完整代码
- 一条语句实现库函数strlen
- c语言模拟库函数strlen、strcpy、strcmp.
- C语言~模拟库函数Strlen,Strcpy, Strcmp.
- 关于模拟实现strlen
- 模拟实现strlen
- 模拟实现strlen函数
- 模拟实现strlen函数
- 模拟实现strlen
- ##模拟实现strlen函数
- 模拟实现strlen函数
- strlen的模拟实现
- 模拟实现strlen函数
- 模拟实现strlen函数
- 模拟实现strlen函数
- 为何F8是灰色的?单步调试不了呀? code blocks里面 build options是灰色一直点不了。 有编译器/// 在用codeblocks反编译的时候可能会遇到这样的问题。
- Oracle 12c安装教程
- 习题4(1)
- H5-表格的基本样式
- <<优先级低于+啊
- 模拟实现库函数strlen
- okhttp
- HTML中列表内的各种东西
- 深入理解GRASP
- 读书笔记之JVM垃圾回收
- Anniversary Cake
- HTML中href、src区别
- Oracle wait event --- enq: HW
- 解决Hash碰撞冲突方法总结