strlen()和sizeof()的区别

    xiaoxiao2022-07-07  166

         strlen()求的是长度,针对的对象是字符串,而 sizeof()求的是大小,针对的是类型,首先大家要明确的一个概念是,strlen()是函数,而 sizeof()表面看起来是函数,其本质是关键字。

    #include<stdio.h> #include<string.h> void main() {     char str[] = "hello world"; //注,hello 与 world 之间有一空格     printf("strlen = %d\n",strlen(str));     printf("sizeof = %d\n",sizeof(str)); }

     

    说明:strlen()计算的是字符串的有效长度,即不包含’\0’的长度,sizeof()计算的是类型所占内存空间的大小(以字节为单位),对于字符串来说,要包含’\0’所占的空间,即 char str[]是一个数组,其大小为字符串”hello C”所占空间大小,注意的是,每个字符串末尾会有一个’\0’的结束标记,也会占用其存储空间。

    最新回复(0)