sizeof vs sizeof()在标准C中?

时间:2014-10-30 12:17:23

标签: c sizeof

我看到一些直接使用sizeof的代码,并想知道它是否是标准的C.令我惊讶的是,它工作得很好。这是一个例子:

#include <stdio.h>
#include <string.h>

int main()
{
   char buff[255];
   printf("size %d\n", sizeof buff);
   return 0;
}

Output: size 255

如您所见,在上面的示例中,我使用sizeof <variable>代替sizeof(<variable>)

请多点亮一点。

1 个答案:

答案 0 :(得分:6)

&#34;当sizeof的操作数是一个类型时,它必须括在括号中。但是当sizeof的操作数是变量时,这不是必需的。&#34; - 专家C编程:深层C秘密。并且从c11标准:

sizeof unary-expression
sizeof ( type-name )