为何void类型与其他基础类型分类不同?分类依据及合理性探讨
C语言类型分类的疑问
在cppreference上,他们将C语言类型分为:
- Void类型
- 基础类型
- 枚举类型
- 派生类型
我无法找到他们将void归为独立大类的原因。这意味着int、char等基础类型与void类型存在差异。从是否存储值的角度来看,二者差异明显:从概念上讲,void类型表示不存储任何值的对象,而基础类型的对象会存储值。
我认为每种分类都应有单一且明确的依据,但此处我感觉缺乏这样的依据。
在我看来,他们可以基于是否为派生类型进行分类:
- 基础类型(也包含
void) - 派生类型(由基础类型派生而来的类型,包含
enum类型)
我将void归为基础类型是因为它是标准定义的类型之一,且不依赖任何其他类型。我将enum类型归为派生类型是因为我认为enum类型表示int类型的值,因此得出enum类型是(隐式)从int类型派生的结论。
他们的分类依据可能是什么?我的分类是否合理?
内容的提问来源于stack exchange,提问作者user20333834
相关产品推荐
相关产品推荐

