鱼C论坛

 找回密码
 立即注册
查看: 1582|回复: 3

[已解决]c的数组最多能有几维?

[复制链接]
发表于 2019-8-13 12:08:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
貌似我在VS2017定义到第八维数组就不行了。。。
所以C到底能有多少维数组呢?》
最佳答案
2019-8-13 12:34:39
c数组能开多少维度跟维度无关 跟编译器分配存储的静态内存大小有一点点关系
  1. #include<stdio.h>
  2. int a[8][8][8][8][8][8][8][8][8][8][8][8][8]={1};
  3. int main(){
  4.        
  5.         return 0;
  6. }
复制代码

炸了

  1. #include<stdio.h>
  2. int a[1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1]={1};
  3. int main(){
  4.        
  5.         return 0;
  6. }
复制代码

秒出
就是说多维跟一维本质上是一样的都是用一段内存地址来存储数据 跟内存关系也不大
看你开多大内存的数组能不能被吃消
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-8-13 12:21:03 | 显示全部楼层
只要你的内存够大,你想要几维就有几维,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-13 12:34:39 | 显示全部楼层    本楼为最佳答案   
c数组能开多少维度跟维度无关 跟编译器分配存储的静态内存大小有一点点关系
  1. #include<stdio.h>
  2. int a[8][8][8][8][8][8][8][8][8][8][8][8][8]={1};
  3. int main(){
  4.        
  5.         return 0;
  6. }
复制代码

炸了

  1. #include<stdio.h>
  2. int a[1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1][1]={1};
  3. int main(){
  4.        
  5.         return 0;
  6. }
复制代码

秒出
就是说多维跟一维本质上是一样的都是用一段内存地址来存储数据 跟内存关系也不大
看你开多大内存的数组能不能被吃消
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-13 13:43:19 | 显示全部楼层
维度本来就是用一定的算法在物理线性内存上抽象出来的东西,理论上无上限吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 06:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表