首页 > 编程知识 正文

strlen函数原型,strlen函数源码

时间:2023-05-05 02:37:20 阅读:258345 作者:1787

C语言提供了strlen()函数,用于求字符串的长度。函数定义如下:

int strlen (const char *s);

包含的头文件是:

#include <string.h>

       该函数就是求参数 s 指向字符串的长度。在介绍“数组”的这一章节中,讲解了字符串的定义。C语言规定,字符串必须以''字符作为最后一个字符,表示字符串的结束字符,称为:字符串结束符。字符串结束符''的ASCII是0数值。

    例如"abcde"这样的字符串,实际上包含6个字符,分别是:

'a','b','c','d','e',''

    可以看到,字符串就是由多个单独的字符组成,其中,最后一个字符必须是字符串结束符''。

    那么,我们可以把一个字符串赋值给字符数组,如下:

char array[6] = {'a','b','c','d','e',''};

       如下是一个测试例子:

       运行的结果如下:

       可以看到,定义了字符数组array,数组名代表首地址,所以,数组名array可以表示一个指针,指向array数组存放数据的内存块。

       那么,strlen(array); 获取了array指向内存块的字符个数。而且,计算字符个数的时候,是遇到字符串结束符 '' 字符就认为结束。所以,strlen()函数的返回的字符串长度,不包含字符串的结束符。

       那么,我们可以写一个测试例子,设置 array[3] = '',就是设置数组中下标为3的元素是字符串结束符。测试代码如下:

       程序运行结果如下:

       此时,array[6] 中的数据相当于 {'a', 'b', 'c', '', 'e', ''};那么,使用strlen()函数获取字符串个数时,就从array指向的第一个元素开始数,遇到第四个元素是''字符,是字符串结束符。

所以,strlen()遇到字符串结束符之后,结束字符串的长度计算。

任性的过客 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。