在字符常量和字符串常量的博文里有提:
求字符串數組的長度
標准庫函數strlen(s)可以返回字符串s的長度,在頭文件<string.h>里。
strlen(s)的判斷長度的依據是(s[i] != '\0'),所以返回值是字符串s的長度,而不是數組的長度。
如果要求數組的長度,用sizeof(數組名)/sizeof(數組名[0])。
sizeof並不像strlen()是一個函數,他是一個操作符(operator),它的返回值是size_t,返回的是一個對象或類型所占用的內存字節數。
他有三種形式,如下:
- sizeof( object );
- sizeof( type_name );
- sizeof object;
int i; //i是一個對象
sizeof(i); //合法
sizeof i; //合法
sizeof(1); //合法
sizeof 1; //不合法
