sizeof
和 strlen
是两个C语言中常用的函数,它们的作用不同,主要区别如下:
sizeof
是一个运算符,而不是函数,它用于获取数据类型或变量的字节大小。例如,sizeof(int)
将返回 4
,表示 int
类型占用4个字节的空间;sizeof(array)
将返回整个数组所占用的空间大小。sizeof
在编译时计算,不执行运行时的计算。
strlen
是一个函数,用于计算字符串的长度,即字符串中的字符数量(不包括字符串结尾的\0
字符)。例如,strlen("hello")
将返回 5
,因为字符串 “hello” 中有5个字符。strlen
在运行时计算,需要遍历整个字符串直到遇到字符串结尾的\0
字符。