在c++中,我们可以定义三维数组,并且可以将之作为参数直接传递。

  定义:

#include <iostream>
#include <windows.h>
using namespace std;
const int x = 10;
const int y = 10;
const int z = 10;
int main() {double foo[x][y][z];for (int i = 0; i < x; i++) {for (int j = 0; j < y; j++) {for (int k = 0; k < z; k++) {foo[i][j][k] = 1.0;}}}cout << foo[0][0][0] << endl; // 1.0system("pause");return 0;
}

  如上所示,我们设置的是静态数组,所以必须在定义三维数组之前确定其大小,为了程序的可维护性,建议使用const int进行定义。

  将三维数组作为参数传递:

#include <iostream>
#include <windows.h>
using namespace std;
const int x = 10;
const int y = 10;
const int z = 10;
int bar(double arr[][y][z]);
int main() {double foo[x][y][z];for (int i = 0; i < x; i++) {for (int j = 0; j < y; j++) {for (int k = 0; k < z; k++) {foo[i][j][k] = 1.0;}}}cout << foo[0][0][0] << endl; // 1.0
    bar(foo);system("pause");return 0;
}
int bar(double arr[][y][z]) {cout << "function invoked value: " << arr[1][1][1] << endl;return 0;
}

  如上所示,最终结果为:

1
function invoked value1

  注意,在传递三维数组作为参数时,数组的第一个[]中为空,而第二第三个不能为空。

  这样,对于大部分情况下的三维数组就可以轻松处理了。

转载于:https://www.cnblogs.com/zhuzhenwei918/p/8849644.html

c++三维静态数组的定义与作为函数的传递相关推荐

  1. vba 数组赋值_VBA数组与字典解决方案第18讲:VBA中静态数组的定义及创建

    大家好,我们今日继续讲解VBA数组与字典解决方案,今日讲解第18讲:VBA数组如何定义,又该如何创建呢? 从这一讲开始,我们开始进入VBA数组阶段,VBA数组和工作表数组有着不同的意义,在很大程度上, ...

  2. 静态数组和动态数组 内存分布

    数组是程序设计中是一个非常重要的概念.数组是一个用于收集大量类似数据的容器, 以及其每一个元素能被相同处理过程迭代来处理的一个抽象体. 创建数组一般有三种方式:全局/静态范围的数组,局部变量数组,申请 ...

  3. Java静态数组和动态数组的定义方式

    数组的定义方式 静态: //简化语法常用 定义和初始化同步完成 int [] a = {5,2,6,4,10}; 动态: //数组的定义和初始化同时完成,使用动态初始化语法 int[] prices ...

  4. java静态数组定义_详解Java静态数组

    说到Java静态数组,我们第一时间可能就会想到相应的动态数组,两者看上去挺相似,实质却大不一样.Java静态数组是一定义出来就创建了,而动态数组则是定义时不创建,使用时才创建,一定意义上节省了内存空间 ...

  5. 静态数组的声明与例子练习

    数组的定义与声明 在使用数组之前,一般要声明数组,当然也可以采用隐式声明的方法.声明数组的方法与声明各种类型的变量一样,可以用Dim,Private,Public或Static来声明,只不过声明数组时 ...

  6. Java数组怎么定义?java中数组的定义及使用方法

    许多初学者不知道如何定义java中数组,下面我就为大家带来一篇java中数组的定义及使用方法.应该可以解决大部分人的需求,现在就分享给大家,也给大家做个参考. 数组:是一组相关变量的集合 数组是一组相 ...

  7. JAVA数组的定义及用法

    数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素. 1. 一维数组 1.1 一维数组的定义 type arrayName[]; type[] arrayName; ...

  8. java数组定义便利,java数组的定义(菜鸟教程)

    数组 数组有两种定义形式. 数组的定义: 这一种形式使用的频率高,推荐使用. int[] ints={1,2,3}; 第二种形式(容易使人混淆因为在开发中可能把这个看成一个数组类型而不是变量名) in ...

  9. 【 C 】经典抽象数据类型(ADT)之堆栈(用静态数组实现堆栈)

    堆栈简介 堆栈(stack)最鲜明的特点就是后进先出(Last-In First-Out,LIFO)的数据进出方式. 基本的堆栈操作通常被称为 push 和 pop.push就是将一个新值压入到堆栈的 ...

最新文章

  1. 入围51CTO 2009年度“最受读者欢迎的IT图书作者”评选
  2. 4G模块ME3760_V2的拨号过程
  3. 集训队脱单大法:这是一道只能由学姐我自己出数据的水题
  4. java 人脸检测_Java+OpenCV实现人脸检测并自动拍照
  5. 看YYModel源码的一些收获
  6. Badboy自动化测试工具11 导出脚本用于Jmeter并发测试
  7. MongoDB 入门之安装篇
  8. php音视频同步,视频画面和声音不同步?视频声音画面同步工具|软件
  9. 如何保证交叉表编译器和目标系统版本一致_嵌入式系统词汇表
  10. 第一个Django页面
  11. vue computed 中操作DOM和给对象添加属性遇到的问题
  12. centos8 ssh配置_JumpServer 堡垒机CentOS 8 安装部署(四)
  13. 历时3个月,我们是如何为一个开源项目集资300万美元的?
  14. chown r mysql var_Mysql 常用命令
  15. win安装 lua php 扩展,window平台搭建Lua开发环境
  16. oracle 流标和sql效率,Oracle 中流标使用实例
  17. sql统计不为空的字段数_SQL太难?你离完全理解SQL就差这10步!
  18. buuctf一天小练习
  19. oracle编程题考试题,oracle考试题
  20. 【数学建模】—— 层次分析法(AHP)

热门文章

  1. gcc -E 产生预编译后的文件
  2. C# GDI+ 实现图片分隔
  3. 修改el-table滚动条样式
  4. Taro+react开发(35) 实现拖动
  5. 前端学习(3058):vue+element今日头条管理-回顾
  6. [html] websocket握手阶段是通过什么协议传输的?
  7. [html] HTML采用的是RGB颜色还是CMYK颜色?为什么?
  8. [html] 你觉得写Html难吗?难在哪?为什么?
  9. [html] web workers有用过吗?能帮我们解决哪些问题?
  10. [jQuery] jQuery与jQuery UI有啥区别?