【问题标题】:Storing changes made to an array of variables存储对变量数组所做的更改
【发布时间】:2011-10-13 12:09:02
【问题描述】:

我正在为一个程序存储玩家的位置,我正在将其写入存储为全局变量的数组中,例如:

float motor1[] = {4.312, 27.312};

每当进行移动时,我都有名为检查位置、移动播放器和更新位置的函数来检索和更新这个数组。所有这些功能都在一个名为 motor.c 的模块中,并具有执行它们的层次结构。我有一个主模块 main.c,它调用这个模块并传递一些信息,然后 motor.c 处理它,然后吐出一个答案。让我感到困惑的是,由于数组被保存为全局变量,这是否意味着每次调用该模块时都会对其进行初始化?这意味着我的更新位置功能永远不会超出第一步。

【问题讨论】:

    标签: c arrays gcc


    【解决方案1】:

    不,如果它是一个全局变量,它只会在程序启动时初始化一次。

    【讨论】:

    • 所以即使我在 main 中运行了一个 while(1) 循环,并且使用一些信息重复调用此模块,数组也不会重新初始化?
    • @user993393:正确。全局变量只在程序启动时初始化一次。
    【解决方案2】:

    不,全局变量在程序启动时初始化(并且只有在那时)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-30
      • 2014-08-05
      相关资源
      最近更新 更多