for循环赋值如何使用C中的初始值设定项变量



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

最新更新