C语言中sizeof()和strlen()求字符长度比较

2025-10-17 18:22:10

1、sizeof()

功能是返回一个变量或者类型的大小(以字节为单位);在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。

strlen()

所作的是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')

2、参考源码 :


#define XDAT                "xSuper123Abc"
int main(void)
{
    printf("****************************** sizeof()和strlen()比较 ******************************\r\n");
    printf("sizeof()求字符数长度: %d Byte\r\n", sizeof(XDAT));
    printf("strlen()求字符数长度: %d Byte\r\n", strlen(XDAT));
    printf("************************************************************************************\r\n");
    
    while (1);
    return 0;
}

C语言中sizeof()和strlen()求字符长度比较

3、运行结果 :


****************************** sizeof()和strlen()比较 ******************************
sizeof()求字符数长度: 13 Byte
strlen()求字符数长度: 12 Byte
************************************************************************************

C语言中sizeof()和strlen()求字符长度比较

4、注意:

sizeof(XDAT)计算的结果为13字节,计算字符串包括\0的长度。

strlen(XDAT)计算结果为12字节,计算字符串不包括\0的长度。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢