作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想制作一个 char[1 048 576][16 384][1024]
和一个 int [1 048 576][16 384]
但我得到一个错误!
我想要制作一个 excel 能够处理的大小的 3D 数组!
最佳答案
要在 C 中“创建”数组,您需要静态或使用 malloc 动态分配一些内存。无论如何,该数组将像在 RAM 中一样在您的计算机中进行物理映射。所以你需要有足够的物理空间来“制作”它。
在您的情况下,您需要一个大小为:的 char 数组:1048576*16384*1024*sizeof(char) = 1048576*16384 MByte,其中 char 大小为 1 字节。
这实在是太多了。您得到的错误与此相关。它告诉您可以请求的最大大小是有符号整数的最大数量。请参阅:What is the maximum value for an int32? 。这远远低于您想要分配的数量。
如果您查看 Excel,您会发现单元格都是空的,并且不会为它们保留任何内存,直到它们被填充为止。
关于c - 错误 1 错误 C2148 : total size of array must not exceed 0x7fffffff bytes I get this Error in C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24181501/
我是一名优秀的程序员,十分优秀!