sizeof和strlen有什么区别sizeof()是运算符(既是关键字,也是运算符,但不是函数),strlen()是库函数sizeof()在编译时计算好了,strlen()在运行时计算sizeof()计算出对象使用的最大字节数,strlen()计算字符串的实际长度sizeof都是在编译的时候计算的,所以可以通过 sizeof(x)来定义数组维数。strlen则是在运行期计算的,用来计算字符串的实际长度,不是类型占内存的大小。例如, char str[20] = "0123456789”,字符数组str是编译期大小已经固定的数组,在32位机器下,为 sizeof(char)*20=20,而其 strlen大小则是在运行期确定的,所以其值为字符串的实际长度10。sizeof()的参数类型多样化(数组,指针,对象,函数都可以),strlen()的参数必须是字符型指针,而且必须是以“\0结尾的(传入数组时自动退化为指针)当参数分别如下时,sizeof返回的值表示的含义如下:数组——编译时分配的数组空间大小;指针——存储该指针所用的空间大小(在32位机器上是4,64位机器上是8);类型——该类型所占的空间大小;对象——对象的实际占用空间大小;函数——函数的返回类型所占的空间大小。函数的返回类型不能是void。【嵌入式八股】精华版(免费216问精华八股)https://www.nowcoder.com/creation/manager/columnDetail/0rOeJm【嵌入式八股】一、语言篇https://www.nowcoder.com/creation/manager/columnDetail/mwQPeM【嵌入式八股】二、计算机基础篇https://www.nowcoder.com/creation/manager/columnDetail/Mg5Lym【嵌入式八股】三、硬件篇https://www.nowcoder.com/creation/manager/columnDetail/MRVDlM【嵌入式八股】四、嵌入式Linux篇https://www.nowcoder.com/creation/manager/columnDetail/MQ2bb0
点赞 2
评论 0
全部评论

相关推荐

05-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务