c语言中sizeof()和strlen()用法上有什么区别呢?

发布网友 发布时间:2022-04-22 06:44

我来回答

1个回答

热心网友 时间:2022-06-16 18:30

sizeof和strlen在c语言的区别是:用法不同。

sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。sizeof是算符,strlen是函数。sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以“\0”结尾的。

strlen的结果要在运行的时候才能计算出来,时用来计算字符串的长度,不是类型占内存的大小。sizeof后如果是类型必须加括弧,如果是变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。

函数调用:

sizeof(函数名())

sizeof也可以对一个函数调用求值,其结果是函数返回类型的大小,函数并不会被调用,举例来说定义如下函数:

int myprint ()

{undefined

printf(“hello\n”);

return 0;

int main()

{undefined

printf(“%d”,sizeof(mypaint()));

return 0;

结果只打印函数返回类型的sizeof值,并没有打印hello说明函数myprint并没有调用。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com