sizeof 和 strlen的区别

2024-04-30 21:13:42 浏览数 (2)

sizeof

        sizeof是单目操作符,sizeof计算变量所栈内存空间大小,单位是字节,如果操作数是类型的话,会计算类型所占大小,sizeof指在乎占用内存空间大小不在乎内容是什么.

代码语言:javascript复制
int main()
{
	int a = 0;
	printf("%zdn", sizeof(a));
	printf("%zdn", sizeof a );
	printf("%zdn", sizeof(int));
}

 strlen

        strlen是库函数,功能是求字符串长度,需要string.h的头文件

代码语言:javascript复制
size_t strlen( const char * str);

        这个是针对于字符串的,只求字符串长度 

代码语言:javascript复制
int main()
{
	int len = strlen("abcdef");
	printf("%d", len);
}

或者

代码语言:javascript复制
int main()
{
	const char* str = "abcdef";
	printf("%zdn", strlen(str));
}

又或者 

代码语言:javascript复制
int main()
{
	char str[] = "abcdef";
	printf("%zdn", strlen(str));
}

但要注意不能这样使用,除非你手动在末尾输入

代码语言:javascript复制
int main()
{
	char str[] = {'a','b','c'};
	printf("%zdn", strlen(str));
}

         注意根据strlen的性质,它计算到 之前的长度

0 人点赞