C中的标量变量是什么?

rsl1atfo  于 2023-06-05  发布在  其他
关注(0)|答案(2)|浏览(374)

我在阅读肯尼斯·雷克的《C上的指针》时看到了这句话:
结构变量是一个标量,因此您可以使用它执行与其他标量相同的操作。
这是什么意思
我在SO上发现了一个类似的问题,但它与其他一些语言有关(我猜是SQL)
谢谢你。

jdzmm42g

jdzmm42g1#

C11标准的第6.2.5节解释了:
算术类型和指针类型统称为标量类型。数组和结构类型统称为聚合类型。
继续阅读整个标准,您将了解标量和聚合类型可以使用哪些操作和赋值。
您的陈述:
结构变量是一个标量,因此您可以使用它执行与其他标量相同的操作。
与C标准直接矛盾,因为结构是聚合类型而不是标量。也就是说,在有限的情况下,结构确实具有与标量相同的性质。例如,您可以分配两个相同类型的结构,而复制构造函数在两个结构之间提供浅复制(分配)。还有其他情况,但请注意,它们是例外,而不是规则。
我怀疑这句话是针对那些struct可以被视为该特定操作的标量的情况之一做出的。在不知道正在讨论的是什么行动的情况下,我不能进一步说。

hsgswve4

hsgswve42#

在这种情况下,标量变量是一次只保存一个值的变量。

相关问题