strlen
和sizeof
没有什么关联strlen
是求字符串长度的-----只能求字符串长度sizeof
是计算变量、数组、类型的大小。单位是字节strlen
是库函数,需要引入头文件;sizeof
是个操作符
例如:
char arr[] = "abc";
- 对于数组的初始化来说,如果后面是字符串常量,会在末尾补一个
\0
,也就是说此时数组arr
中存放的是abc\0
;- 如果使用
strlen(arr)
得出的结果就是3,计算的是arr
这个字符串的大小是3
如果使用sizeof
来计算arr
的大小,则结果为4个字节。每一个char
型占用一个字节,一共是abc\0
4个字符。