什么是C中的标量变量?

时间:2017-01-22 08:04:49

标签: c variables

我正在读Kenneth Reek的'C指针'并看到这一行:

  

结构变量是标量,因此您可以使用其他标量执行相同类型的操作。

那是什么意思?

我在SO上发现了一个类似的问题,但它与其他一些语言有关(我猜SQL)

谢谢。

2 个答案:

答案 0 :(得分:3)

C11标准第6.2.5节解释:

  

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

继续贯穿整个标准,您会发现标量和聚合类型可以使用哪些操作和分配。

您的陈述:

  

结构变量是标量,因此您可以执行   你可以和其他人一起做同样的操作   标量。

与C标准直接矛盾,因为结构是不是标量的聚合类型。也就是说,结构确实具有与标量相同的属性的情况有限。例如,您可以分配两个相同的类型结构,复制构造函数在两个结构之间提供浅复制(赋值)。还有其他情况,但请注意它们是例外,而不是规则。

我怀疑该陈述是针对其中一种情况,即struct可被视为该特定操作的标量。在不知道正在讨论什么操作的情况下,我不能再说了。

答案 1 :(得分:0)

在此上下文中,标量变量是一次只保存一个值的变量。