【问题标题】:Why when I change the variable that is in an array does it not update the array?为什么当我更改数组中的变量时它不会更新数组?
【发布时间】:2022-08-03 02:13:52
【问题描述】:

本质上我的问题是,在 C 和 C++ 中,为什么如果我更新我之前放置在数组中的变量,它不会更新数组。

前任:

int var = 0;  
int list[1];  
list[0] = var;  
var = 1;

printf(\"%i\", list[0]);  

我不明白为什么它打印的是 0 而不是 1。

  • list[0] = var;var 中的值复制到 list[0] - varlist[0] 是两个独立的 ints
  • 因为作业是复制当前的变量的值。它不会永远“绑定”它。

标签: c++ arrays c


【解决方案1】:

变量var 是相对于数组list 的单独对象

int var = 0;  
int list[1];  

它们占用不同范围的内存。

在本次作业中

list[0] = var;  

变量var 的值的副本分配给另一个对象列表[0]。

【讨论】:

    【解决方案2】:

    list[0] = var;var 中的值复制到 list[0] - varlist[0] 是两个独立的 ints。

    如果您希望通过另一个变量看到对一个变量的更改,则需要使用指针或引用。

    【讨论】:

      猜你喜欢
      • 2019-08-10
      • 2012-04-30
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-20
      • 2021-08-16
      相关资源
      最近更新 更多