Mit*_*ran 28
strlen() 用于获取字符数组/字符串的长度.
sizeof() 用于获取任何类型数据的实际大小(以字节为单位).
此外,sizeof()是一个编译时表达式,为您提供类型或变量类型的大小.它并不关心变量的值.
strlen()是一个函数,它接受一个指向一个字符的指针,并从该字符开始遍历内存,寻找一个NULL字符.它会在找到NULL字符之前计算字符数.换句话说,它为您提供了C样式的以NULL结尾的字符串的长度.
两者几乎不同.在C++中,你不需要太多,strlen()用于C风格的字符串,应该用C++代替 - std::strings而C语言的主要应用程序sizeof()作为函数的参数malloc(),memcpy()或者memset(),所有这些函数都是你不应该在C++中使用(使用new std::copy(),和std::fill()or constructors).
das*_*ght 11
sizeof不是一种方法.它是一个编译时构造,用于确定特定类型或变量占用的内存量.strlen另一方面,是一个函数,它计算char从内存中指定位置开始的连续非零值的数量(这恰好与确定零终止C字符串的长度相同).