因此,根据我在C语言中所了解的,所引用的任何内容都必须存储在内存中的某个位置。存储在堆中的变量可以超过其函数调用的寿命。但是,这是在for循环中定义的整数的一个简单例子,该整数的值在某些时候由其外部的数组引用。
如果我们打印出数组,我们将得到0,1,2 ... 7。这些单个整数存储在哪里?如果每个数组索引都在引用相同的“ int i”,那么它们都将是相同的数字。但是如果每个int都是自己的单个存储单元,这意味着所有int会在某个时刻保存到内存中吗?
int main(){
int arr[8];
for (int i = 0; i<8; i++){
arr[i] = i;
}
return 0;
} ```
这些值存储在数组arr
中。
在行int arr[8]
中,您说的是“保留足够的内存来存储八个整数”。然后,当您进入循环时,您正在将循环计数器i
中的值分配给每个位置。进行此赋值操作后,i
的值无关紧要,因为该值已经在arr
数组中。在您发布的示例中,没有什么可以访问循环范围之外的i
值。