⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_65982.htm

📁 vc
💻 HTM
字号:
<p>
序号:65982 发表者:小勺子 发表日期:2003-12-21 17:34:01
<br>主题:*****关于数组的问题******
<br>内容:*******怎样动态的定义一个3维的数组??
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:红苹果 回复日期:2003-12-21 21:12:36
<br>内容:1. 如果要动态分配数组,可以如下实现:<BR>&nbsp;&nbsp;const int a=5, b=6;<BR>&nbsp;&nbsp;int (*p)[a][b];<BR>&nbsp;&nbsp;p = new int[4][5][6];<BR>这里p就是一个三维数组,如p[0][0][0]就是其第0个元素,p[1][0][0]是第30个元素,p[0][1][0]是第6个元素<BR><BR>2. C语言规定,数组的每一维的大小必须是常量:也就是不能有:<BR>&nbsp;&nbsp;int a=5;<BR>&nbsp;&nbsp;int b=6;<BR>&nbsp;&nbsp;int d[a][b]; // a,b为变量,错<BR>但可以:<BR>&nbsp;&nbsp;const int a=5;<BR>&nbsp;&nbsp;const int b=6;<BR>&nbsp;&nbsp;int d[a][b]; // a,b为常量,正确<BR><BR>3. 如果要动态的定义一个每一维的大小可变的3维数组,那只能用代码来模拟:<BR>&nbsp;&nbsp;int a=5,b=6,c=4,d; // 可以是任意值,也可以是函数参数<BR>&nbsp;&nbsp;int *p = new int[a*b*c]; // 分配一维数组,设数组是p[c][a][b]<BR>现在要访问p[i][j][k]单元的值,可以用如下代码:<BR>&nbsp;&nbsp;d = *(p+i*a*b+j*b+k); // 等价 d = p[i][j][k]<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小勺子 回复日期:2003-12-22 18:49:46
<br>内容:谢谢红苹果的回复!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -