当前位置:  开发笔记 > IOS > 正文

存储初始化列表初始化的数组在哪里?

如何解决《存储初始化列表初始化的数组在哪里?》经验,为你挑选了1个好方法。

鉴于这段代码:

(void)someFunction(void) {
    int array[] = {1,2,3,4,5,6,7,8,9,10};
}

数组的值存储在哪里?

堆?

堆?

连同那些字符串文字.(它被称为高频堆吗?)

别的地方?

我问,因为我对这个问题不确定:

在objective-c中创建一个整数属性数组



1> Michael Burr..:

数组本身将在堆栈中.进入函数时会有一些代码将存储在全局/静态存储区中某些未命名数组中的值复制到堆栈上的本地数组中.具有初始值的未命名全局/静态数组可能与字符串文字位于相同的一般内存区域中.

但请注意,标准不需要这样做 - 但它几乎是任何编译器实现它的方式.一个足够聪明的编译器可能会注意到这些值只是递增的整数值,可能会产生一个循环来初始化本地数组,

(这个答案假设C/C++ - 我不知道Objective-C是否会改变这一点).

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有