关键字sizeof()用来计算变量或者类型所占的内存大小。
函数strlen()用来计算字符串的长度(只能用char*做参数)。
char str[20] = "helloworld";--------->sizeof(str)的值是20
char str[] = "helloworld"; ---------->sizeof(str)的值是11
char str[2] = "helloworld";---------->strlen(str)的值是不确定的
该函数实际完成的功能是从代表该字符串的第一个地址开始遍历,直到遇到结束符‘\0'。返回的长度大小不包括'\0'。
char *p = "helloworld";-------------->sizeof(p)的值是4
数组作为参数传给函数时传的是指针而不是数组,传递的是数组的首地址:
void fun(char buf[10])
{
int b =sizeof(buf);//b的值是4
}