c - 什么定义了 C 中全局数组的最大大小?
问题描述
假设我在我的 C 程序中声明了一个全局数组(即它没有在堆栈内存中分配)。
我可以创建的最大数组是多少?它只是机器上可用内存的限制吗?或者是否有一些其他操作系统设置通常可以控制这个?
解决方案
C 中的数组大小没有单一的最大界限。在任何特定实现中,它可能受到实际可用内存(主内存或磁盘上的交换空间,根据操作系统功能和设置)、系统设置的策略的限制运算符、地址空间的能力、编译器的限制以及可能的其他因素。
限制可能是一个系统中的可用内存和另一个系统中的地址空间。
推荐阅读
- regex - 正则表达式负前瞻和大括号
- javascript - 如何使卡片(材质 ui)达到相同的高度?
- rancher - 用于 Harbour 的 Clair 扫描仪
- php - 正则表达式:如果第二组到位,则忽略条件
- python - pip 和 tox 忽略完整路径依赖,而是在 pypi 中寻找“最佳匹配”
- keras - 批量预测仅返回一个输出
- excel - VBA过滤选定的单元格
- c# - 处理 GetExportedTypes 中的类型加载错误
- ubuntu-20.04 - Apache2 H10292 自动更新后代理 UDS 文件名无效错误(Ubuntu 20.04)
- .net - 如何将数字/文本添加到 winform,以便应用程序的每个副本都是唯一可识别的?