【问题标题】:How to determine Type equivalences. Named and Structural如何确定类型等价。命名和结构
【发布时间】:2019-12-19 01:38:15
【问题描述】:

以下声明用于使用名称等效的语言:

A, D: array [1..100] of int;
C: array [1..100] of int;
F: array [1..100] of int;

问题是:“解释这四个变量中哪些具有相同的类型。此外,哪些具有不同的类型?”

在这种情况下如何确定类型等价?

我相信 A 和 D 将是名称等效的 - 因为它们都使用相同的赋值 - 但所有选项在结构上都是等效的,因为它们都使用 array [1..100] of int

【问题讨论】:

    标签: types compiler-construction typechecking


    【解决方案1】:

    类型的名称等价意味着“没有名称替换的结构等价”*

    因为所有变量都具有结构上等效的类型,不包含任何不同命名的类型(它们不同的变量名称和单独的声明与类型检查无关),它们的类型是名称等效的,即。 e. 四个变量的类型相同

    *http://web.eecs.utk.edu/~bvanderz/teaching/cs365Sp12/notes/types.html

    【讨论】:

      猜你喜欢
      • 2022-11-25
      • 2013-02-07
      • 2013-02-14
      • 1970-01-01
      • 2018-07-11
      • 2013-12-17
      • 2010-10-29
      • 2014-01-07
      • 1970-01-01
      相关资源
      最近更新 更多