strlen函数详解

在c语言中,strlen函数,引用<string.h>头文件,作用是计算字符串长度。

定义  :      size_t   strlen ( const  char * str );    

这里有两处说明:

        1.返回类型size_t

                size_t 可以看作 unsigned long ,是无符号长整形。

         2.参数用 const 修饰

                const 修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的。然而 const 的位置不同,被限制的对象                 也不相同,这里写三个代码比较一下:

                (1)const  char * p = str;

                (2)char  const * p = str;

                (3)char * const p = str;

                 这里面(1)(2)都是 const 在 * 的左边,这两个代码是等价的,限制 p 指向的元素,即 *p 不能修改。

                 而(3)是 const 在 * 右边,限制的是指针指向,即 p 不能修改。

                 通过上面的三个代码,我们可以这样理解,const 在 *p 的左边,限制的是*p,只在 p 的左边,限制的是p。

 那么来看看实例代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
	char* str = "hello";
	printf("%lu\n", strlen(str));

	system("pause");
	return 0;
}

说明:打印时用的%lu,这是对应的无符号长整形的打印,与上面所说的size_t 是无符号长整形相呼应。

字符串最后会有一个 '\0' ,在这个函数中只计算 '\0' 之前的元素个数。所以结果应该是5,看看结果:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值