strlen()和sizeof()求数组长度

时间:2023-03-08 23:15:50
strlen()和sizeof()求数组长度

在字符常量和字符串常量的博文里有提:

求字符串数组的长度

标准库函数strlen(s)可以返回字符串s的长度,在头文件<string.h>里。

strlen(s)的判断长度的依据是(s[i] != '\0'),所以返回值是字符串s的长度,而不是数组的长度。

如果要求数组的长度,用sizeof(数组名)/sizeof(数组名[0])。

sizeof并不像strlen()是一个函数,他是一个操作符(operator),它的返回值是size_t,返回的是一个对象或类型所占用的内存字节数。

他有三种形式,如下:

  1. sizeof( object );
  2. sizeof( type_name );
  3. sizeof object;

int i;  //i是一个对象

sizeof(i);  //合法

sizeof i;  //合法

sizeof(1);  //合法

sizeof 1;  //不合法