如果我使用sizeof和size_t,我是否应该总是包含stddef.h

yCa*_*ran 29 c sizeof size-t

如果我使用sizeof运算符并size_t在我的代码中使用,我是否必须包含stddef.h?我没有包含stddef.h,我的代码在没有警告的情况下编译MVS2008和Borland C++ BuilderX.

非常感谢...

Dev*_*lar 33

sizeof(),虽然看起来像一个函数调用,实际上是一个运算符和语言核心的一部分.不需要包括.

size_t在各种标头被定义:stddef.h,string.h,stdlib.h,和stdio.h.包括其中任何一个就足以size_t在您的代码中使用.


cod*_*ict 10

不,您可以包含一个标题,该标题又包含stddef.h

size_t定义应通过包含stdlib.h头文件提供给引用代码段.事实上,大多数实现都没有在文件中直接定义,而是将sub包含文件stddef.h ,例如GNU C编译器的标准库.直接将stddef.h包含在应用程序代码中是完全有效的,因此在需要或不需要此文件的其他成员的情况下可以替换stdlib.h.

资源