[英]Maximum number of elements in a 2D integer array
關於2D integer array
在C
可以包含多少個元素,是否有任何限制?
PS:我期望聲明數組會存在一些空間限制,但在Internet上找不到任何此類引用。
這取決於您的RAM
或可用的內存。
i:e:
我聲明全局數組a[100000][10000]
,我的程序曾經崩潰,但是現在我使用的系統可以使用此聲明。
size_t
類型定義為足夠大,可以包含程序中任何對象(包括數組)的大小。 因此,最大可能的數組大小可以描述為2^(8*sizeof(size_t)
個字節。
為方便起見,可以通過limits.h中的SIZE_MAX
常數獲得此值。 它保證至少為65535,但實際上是一個較大的值,最有可能在32位系統上為2 ^ 32,在64位系統上為2 ^ 64。
C / C ++標准施加的最大值: x * y * z <= SIZE_MAX
,其中SIZE_MAX是實現定義的定義,x是數組的一個維,y是另一維,而z是元素的大小(以字節為單位)。 例如element_t A[x][y]
, z = sizeof(element_t)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.