请考虑以下代码段:
struct foo { int a; int b; int c; }; struct foo f; printf("%u,%u\n",sizeof(struct foo),sizeof(f));
代码返回相同的值,但我想知道应用于变量的sizeof()是否正确或者这只是巧合?
谢谢.
解决方法
两者都将并且应该确实返回相同的值.
来自MSDN:
sizeof运算符
sizeof运算符给出了存储操作数类型对象所需的存储量(以字节为单位).此运算符允许您避免在程序中指定与机器相关的数据大小.
sizeof unary-expression sizeof ( type-name )