(C/C++) 基础问答题

时间:2022-01-24 20:24:56

1.简述sizeof和strlen的区别

最常考察的题目之一。主要区别如下:

1)sizeof是一个操作符,strlen是库函数。

2)sizeof的参数可以是数据的类型,也可以是变量,而strlen只能以结尾为‘\0‘的字符串作参数。

3)编译器在编译时就计算出了sizeof的结果。而strlen 函数必须在运行时才能计算出来。并且sizeof计算的是数据类型占内存的大小,而strlen计算的是字符串实际的长度。

4)数组做sizeof的参数不退化,传递给strlen就退化为指针了。