strlen和sizeof的区别

来源:互联网 发布:金山数据恢复乱码 编辑:程序博客网 时间:2024/06/07 20:45
 

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

原创粉丝点击