sizeof vs sizeof()在标准C?
问题描述:
我看到了一些直接使用sizeof的代码,并想知道它是否是标准C.令我惊讶的是,它工作得很好。这里有一个例子:sizeof vs 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>)
请扔在它更多的光。
答
“当sizeof的操作数是一个类型时,它必须用括号括起来,但是当sizeof的操作数是一个变量时,这不是必需的。” - 专家C编程:Deep C的秘密。并从c11标准:
sizeof unary-expression
sizeof (type-name)
+0
@Jongware:绝对!我编辑了答案来引用它。谢谢你指出。 – 2014-10-30 12:32:27
'sizeof'是一个运算符,而不是一个函数。你可以使用两种变体。 – Crozin 2014-10-30 12:19:18
谢谢。是的,这个问题已经得到完美解答 – 2014-10-30 12:20:38