C语言中sizeof和strlen函数区别在哪?

2022-04-04 教育 85阅读

1、操作

strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。 

而sizeof()返回的是变量声明后所占的内存数,不是实际长度。

2、参数类型

sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。 

3、类型

sizeof是操作符(关键字),strlen是函数。 

扩展资料

strlen函数原型:

size_tstrlen(constchar*string)

size_t是无符号整数的别名,在vs2008编译器中可以查看其宏定义。

功能:

其功能是获取字符串的长度。 

返回值:

在MSDN文档中查看strlen函数的返回值,叙述如下。

Eachofthesefunctionsreturnsthenumberofcharactersinstring,excludingtheterminalNULL.Noreturnvalueisreservedtoindicateanerror.

每个函数都返回字符串中的字符数,不包括终端NULL。不保留返回值以指示错误。 

参数:

Null-terminatedstring

空终止字符串,字符串标准库提供的头文件中包含操作以空字符结尾的字符串(null-terminatedstring)的函数。


参考资料:百度百科——strlen

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com