Loading

sizeof( ) 与 strlen( )

sizeof() 是 C 语言的一个运算符,可以计算括号数据类型或变量所占字节多少,例如:

sizeof (int) = 4;       sizeof (char) = 1;

int num = 0;
sizeof (num) = 4;

sizeof (6.23) = 8;
  • 当括号内的运算对象是数据类型时,括号必不可少,但是对于特定量,如上例中的 num ,括号可有可无,即 sizeof num 。尽管如此,还是建议所有情况下都使用圆括号。

  • sizeof() 返回值为无符号整型,在 C99 和 C11 标准中专门为它的返回类型添加了 %zd 返回类型(并且对于 strlen() 同样适用),对于早期的 C ,其返回的实际类型为 unsigned int

strlen() 是专门测量字符串长度的,返回的长度不包括代表字符串结束的空字符 \0 ,而 sizeof() 测量时会将其考虑在内。因此:

#include<stdio.h>
#include<string.h>
int main() {
	char str[] = "abcdefg";
	
	printf("%d	%d\n", sizeof(str), strlen(str));
	return 0;
}

posted @ 2021-03-10 20:54  Lowell_liu  阅读(149)  评论(0编辑  收藏  举报