????????sizeof是单目操作符,sizeof计算变量所栈内存空间大小,单位是字节,如果操作数是类型的话,会计算类型所占大小,sizeof指在乎占用内存空间大小不在乎内容是什么.
int main()
{
int a = 0;
printf("%zd\n", sizeof(a));
printf("%zd\n", sizeof a );
printf("%zd\n", sizeof(int));
}
????????strlen是库函数,功能是求字符串长度,需要string.h的头文件
size_t strlen( const char * str);
? ? ? ? 这个是针对于字符串的,只求字符串长度?
int main()
{
int len = strlen("abcdef");
printf("%d", len);
}
或者
int main()
{
const char* str = "abcdef";
printf("%zd\n", strlen(str));
}
又或者?
int main()
{
char str[] = "abcdef";
printf("%zd\n", strlen(str));
}
但要注意不能这样使用,除非你手动在末尾输入\0
int main()
{
char str[] = {'a','b','c'};
printf("%zd\n", strlen(str));
}
? ? ? ? ?注意根据strlen的性质,它计算到 \0 之前的长度