【问题标题】:The opposite of scalar variables与标量变量相反
【发布时间】:2015-02-24 02:17:34
【问题描述】:

PHP 和 C 使用术语“标量变量”。

标量变量是那些包含整数、浮点数、字符串或布尔值的变量。类型数组、对象和资源不是标量。

有没有描述非标量变量的术语?

【问题讨论】:

  • 你的意思是非标量吗?
  • 我相信是非标量。尽管在 C afaik 中没有使用术语“标量”,但我们将这些变量称为原始变量或原始类型。
  • 在C语言中,有结构体、数组等聚合类型。
  • php.net/manual/en/language.types.intro.php 标量类型和 复合 类型。注意在 PHP 中,字符串也被认为是一个标量。
  • C++ 使用术语基本类型复合类型。无法像在 C++ 标准中看到的那样容易地看到 C 标准文档中使用了哪些术语。

标签: php c terminology


【解决方案1】:

就数据类型而言(对于 PHP,而不是 C):

标量类型通常表示原始数据类型。接下来,您有复合类型(数组、对象)和其他类型(资源句柄)(这种数据类型的分类依赖于the ones from Wikipedia)。

在 PHP 中,NULL 不是标量的一部分。

这与Types Introduction in the PHP Manual 中给出的组一致:

并且来自is_scalar function的PHP手册条目:

标量类型是那些包含integerfloatstringboolean 的类型。 arrayobjectresource 类型不是标量。

【讨论】:

  • 更不用说function/callback 现在实际上也是一种数据类型,并且必须属于special 的类别
  • @Mark Ba​​ker:不,他们不是。这些是伪类型,而不是真正的数据类型。例如,callback 可以是标量也可以是复合类型 - 它只取决于它是哪种数据类型(例如字符串或数组)。
【解决方案2】:

在 C 术语中,标准区分标量类型和“聚合和联合类型”。

结构和数组类型构成聚合类型。联合类型不是聚合类型。算术类型和指针类型构成标量类型。

【讨论】:

    猜你喜欢
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2018-11-18
    • 2023-03-16
    • 1970-01-01
    • 2018-11-26
    相关资源
    最近更新 更多