C语言中sizeof与strlen的区别是什么

如题所述

第1个回答  2022-12-11

一、指代不同

1、sizeof:用于获取字符串的长度,是处理字符串的重要工具。

2、strlen:所作的是一个计数器的工作。

二、规则不同

1、sizeof:可用于任何变量名、类型名或常量值,当用于变量名(不是数组名)或常量时,不需要用圆括号。

2、strlen:从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值。


三、用法不同

1、sizeof:sizeof( type_name ); // sizeof( 类型 );编译时起作用,而不是运行时。

2、strlen:extern unsigned int strlen(char *s);返回s的长度,不包括结束符NULL。

参考资料来源:百度百科-sizeof()

参考资料来源:百度百科-strlen

相似回答