“void”的神秘大小是多少?
编程中“void”的概念是指代表不存在的类型的一个值。然而,这种看似简单的现象却隐藏着一个困扰程序员的问题:“void”的大小是多少?
编译错误:Void 固有的大小缺陷
在大多数编程中在包括 C 在内的语言中,将“void”类型分配给变量是无效的。这会导致编译错误,表明与“void”相关的大小根本缺乏。与具有特定内存需求的数据类型不同,“void”在大小方面仍然无法量化。
GCC 令人惊讶的行为:sizeof(void) 返回 1
奇怪的是,在GNU C 编译器 (GCC) 中,表达式“sizeof(void)”令人惊讶地生成值 1。此行为可归因于采用的约定由 GCC 避免潜在的指针算术问题。然而,这种非标准解释不应该推广到其他编译器。
另一方面,在 C 中,表达式“sizeof(void)”正确地导致编译错误,强调了语言的严格性当涉及到类型属性时。
以上是编程中的空白有多大?的详细内容。更多信息请关注PHP中文网其他相关文章!