sizeof 和 strlen 深度理解
1.strlen 和 sizeof没有什么关联
2.strlen 是求字符串长度的-只能针对字符串求长度- 库函数 --使用得引头文件
3.sizeof 计算变量,数组,类型的大小-单位是字节- 操作符
sizeof和strlen具体实例如下
#include<stdio.h>
int main()
{
int arr[10] = {
1,2,3};//不完全初始化,剩下的元素默认初始化为0
char arr1[] = "abcdef";
printf("%d\n", sizeof(arr1));//7
sizeof//是计算arr1所占空间的大小
// \0也占空间,但不算个数,里面是7个元素,
//每个元素大小是char也就是1,7*1=7
printf("%d\n", strlen(arr1));//6
//[a b c d e f \0]
//strlen 是在求字符串的长度,'\0'之前的长度
'\0'只是字符串结束的标志
return 0;
}
#include<stdio.h>
int main()
{
char arr1[] = "abc";//这个里面有\0
char arr2[] = {
'a', 'b', 'c' };//这个里面没有\0
printf("%d\n", sizeof(arr1));//4
printf("%d\n", sizeof(arr2));//3
printf("%d\n", strlen(arr1));//3
printf("%d\n", strlen(arr2));//随机值,因为没有\0字符串结束标志
return 0;
}
#include<stdio.h>
int main()
{
char arr[] = "abcdef";//[a][b][c][d][e][f][\0]