“ void”是标量类型吗?

时间:2019-09-05 13:10:18

标签: c language-lawyer scalar-type

3 个答案:

答案 0 :(得分:7)

根据C18标准(6.2.5§21):

  

算术类型和指针类型统称为标量类型

void既不是算术类型也不是指针类型,因此它不是标量类型。

从6.2.5§19开始:

  

void类型包含一组空值;这是一种不完整的对象类型,无法完成。

答案 1 :(得分:6)

类型void 被认为是标量类型。它实际上是不完整的类型。

C standard中有关“类型”的第6.2.5节在第19段中对void作了如下规定:

  

void类型包含一组空值;这是一种不完整的对象类型,无法完成。

第21段将标量类型定义为:

  

算术类型和指针类型统称为标量类型。数组和结构类型统称为   集合类型

答案 2 :(得分:2)

这是它自己的特殊类型类别。它不是标量类型,而是无法声明其实例的不完整类型。

从C17 6.2.5开始:

§18

  

整数和浮点类型统称为算术类型

§19

  

void类型包含一组空值;这是一个不完整的对象类型   无法完成。

§21

  

算术类型和指针类型统称为 scalar 类型。