sizeof 和 strlen 的区别:
strlen 是头文件 <cstring> 中的函数,sizeof 是 C++ 中的运算符。
strlen 测量的是字符串的实际长度,以 \0 结束,
而 sizeof 测量的是对象或者表达式类型占用的字节大小。
二者的不同之处:
1.strlen 本身是库函数,因此在程序“运行”过程中,计算长度;而 sizeof 是在“编译时”计算长度;sizeof 的参数“可以是类型,也可以是变量”,且必须是完整类型;strlen 的参数必须是 char * 类型的变量。
2.sizeof 接受的参数可以是“对象”也可以是“表达式”,但是 sizeof(expression) 在运行时“不会对接受的表达式进行计算,编译器只会推导表达式的类型从而计算占用的字节大小”;而 strlen 是一个“函数”,如果接受“表达式则会对表达式进行运算”。