什么定义了 C 中全局数组的最大大小?
What defines the maximum size of a global array in C?
假设我在我的 C 程序中声明了一个全局数组(即它没有在堆栈内存中分配)。
我可以创建的最大数组是多少?这只是机器上可用内存的限制吗?或者是否有其他一些 OS 设置通常控制它?
C 中的数组大小没有单一的最大限制。在任何特定的实现中,它可能受到实际可用内存的限制(根据操作系统特性,主内存或磁盘上的交换 space和设置)、系统操作员设置的策略、地址的能力 space、编译器的限制以及可能的其他因素。
限制可能是一个系统中的可用内存和另一个系统中的地址 space。
假设我在我的 C 程序中声明了一个全局数组(即它没有在堆栈内存中分配)。
我可以创建的最大数组是多少?这只是机器上可用内存的限制吗?或者是否有其他一些 OS 设置通常控制它?
C 中的数组大小没有单一的最大限制。在任何特定的实现中,它可能受到实际可用内存的限制(根据操作系统特性,主内存或磁盘上的交换 space和设置)、系统操作员设置的策略、地址的能力 space、编译器的限制以及可能的其他因素。
限制可能是一个系统中的可用内存和另一个系统中的地址 space。