首页 > 代码库 > 【C++基础】sizeof 与 strlen的区别

【C++基础】sizeof 与 strlen的区别

要理解两者的区别,就要分别理解他们的本质

strlen(char *) 计算字符串的长度,内部实现是用一个循环计算字符串的长度,直到‘\0’为止

1.srtlen 是一个函数,参数只能为char 或者 string (sizeof是运算符,可以对好多类型作sizeof,如struct, class等)

2.对数组作sizeof不退化为指针,传递给strlen就退化为指针

3.

char ss[100]="012345467";cout << strlen(ss) <<endl;  //输出 9cout << sizeof(ss) <<endl;  //输出 100