循环分配如何与C中的初始化变量一起使用?

问题描述 投票:0回答:1

因此,根据我在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;
} ```





c for-loop local allocation
1个回答
0
投票

这些值存储在数组arr中。

在行int arr[8]中,您说的是“保留足够的内存来存储八个整数”。然后,当您进入循环时,您正在将循环计数器i中的值分配给每个位置。进行此赋值操作后,i的值无关紧要,因为该值已经在arr数组中。在您发布的示例中,没有什么可以访问循环范围之外的i值。

© www.soinside.com 2019 - 2024. All rights reserved.