1

我在函数调用堆栈部分阅读了我的教科书并遇到了这个问题:

激活记录告诉main如何返回操作系统(即转移到返回地址R1)并包含main的自动变量(即a,它被初始化为10)的空间

这对我来说是个新闻,所以我的问题是:

  1. 是否创建了自动变量?
  2. 它的目的是什么?
  3. 它的价值总是一样的吗?

提前致谢

4

1 回答 1

2

该段落引用了您教科书中的示例程序。在该示例程序中,声明了一个名为的自动变量并将a其初始化为 10。

示例程序可能如下所示:

int main () {
  int a = 10;
  return 42;
}

是否创建了自动变量?

仅当您声明一个时。

它的目的是什么?

该段落描述了您在程序中使用的普通自动变量,用于您自己的目的。

它的价值总是一样的吗?

不。

于 2012-08-10T20:42:24.517 回答