如何知道当前系统的制定类型的大小是多少?
sizeof是c语言的内置运算符,以字节为单位给出指定类型的大小。
example:
printf("Type int has a size of %zd bytes.\n",sizeof(int));
Type int has a size of 4 bytes.
/*因为c语言定义了char类型是1字节,所以char类型的大小一定是1字节*/
printf("Type char has a size of %zd bytes.\n",sizeof(char));
Type int has a size of 1 bytes.
strlen()函数给出字符串中的字符长度,因为一字节存储一个字符,大部分人可能认为这两种方法应用于字符串得到的结果相同,但事实并非如此。
在函数中定义 #define PRAISE "You are an extraordinary being."
分别输出sizeof PRAISE ,strlen( PRAISE )
结果分别是32,31
对于
PRAISE ,用strlen()得出的也是字符串中的字符数(包括空格和标点符号)。然而,sizeof运算符给出的数更大,因为他把字符串末尾不可见的空字符也计算在内。