strlen和sizeof的区别-阿里云开发者社区

开发者社区> 云计算> 正文

strlen和sizeof的区别

简介:
 

1、strlen是函数 sizeof是关键字(PS:sizeof int是错的 当用sizeof求关键字的大小时必须用括号 sizeof(int))

2、strlen不区分是数组还是指针都是读到\0就返回长度,并且不把\0计算在长度之内

      sizeof 对于指针返回一个指针所占大小一般是4,但是对于数组返回的是整个数组所占空间大小并把\0计算在内

例如

#include<stdio.h>

int main(){

   char a[] = "abcde";

   printf("%d",sizeof(a));

}

这个时候是6 因为a[]中还有一个\0

如果是这样

int a[] = {123456}

printf("%d",sizeof(a));

这个时候就是4

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章