strlen和sizeof究竟在计算字符串长度和占用空间时有什么本质区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计199个文字,预计阅读时间需要1分钟。
1. `strlen`和`sizeof`无直接关联。
2.`strlen`是求字符串长度的函数,遇到`\0`停止,是求`\0`之前字符串的长度,库函数使用时需引用头文件。
3.`sizeof`是求字符所占空间大小的函数,操作符,单位是字节。
1.strlen和sizeof没有什么关联。
2.strlen是求字符串长度的大小遇到"\0"停止,是求”\0“之前的字符串长度,库函数使用得用引头文件。
3.sizeof是求字符所占空间大小,操作符,单位是字节。
例子:
#include<stdio.h>
int main(){
char arr1[]= "abcdef";
char arr2[]={'a','b','c','d','e','f'};
printf("%d\n",sizeof(arr1));//7
printf("%d\n",strlen(arr1));//6
printf("%d\n",sizeof(arr2));//6
printf("%d\n",strlen(arr2));//任意数字
return 0;
}
本文共计199个文字,预计阅读时间需要1分钟。
1. `strlen`和`sizeof`无直接关联。
2.`strlen`是求字符串长度的函数,遇到`\0`停止,是求`\0`之前字符串的长度,库函数使用时需引用头文件。
3.`sizeof`是求字符所占空间大小的函数,操作符,单位是字节。
1.strlen和sizeof没有什么关联。
2.strlen是求字符串长度的大小遇到"\0"停止,是求”\0“之前的字符串长度,库函数使用得用引头文件。
3.sizeof是求字符所占空间大小,操作符,单位是字节。
例子:
#include<stdio.h>
int main(){
char arr1[]= "abcdef";
char arr2[]={'a','b','c','d','e','f'};
printf("%d\n",sizeof(arr1));//7
printf("%d\n",strlen(arr1));//6
printf("%d\n",sizeof(arr2));//6
printf("%d\n",strlen(arr2));//任意数字
return 0;
}

