sizeof
sizeof是单目操作符,sizeof计算变量所栈内存空间大小,单位是字节,如果操作数是类型的话,会计算类型所占大小,sizeof指在乎占用内存空间大小不在乎内容是什么.
int main()
{int a = 0;printf("%zd\n", sizeof(a));printf("%zd\n", sizeof a );printf("%zd\n", sizeof(int));
}
strlen
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 之前的长度