博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态申请3维数组
阅读量:6922 次
发布时间:2019-06-27

本文共 740 字,大约阅读时间需要 2 分钟。

此题要求深刻理解:1指针的概念,2指针的数组操作和静态的数组操作之间的区别。

下面的代码是动态申请三维数组Arr[a][b][c],

  • *data    -------      指向存储数据的一维数组,总共有a*b*c个元素
  • **fp     -------  第一层指针,总共有a*b个元素,每个元素为指向data某一段首的指针。每一段长为c,因为三维数组相当于a*b个c组成。
  • ***sp    --------  第二层指针,总共有a个元素,每个元素为指向fp某一段首的指针。每一段厂为b。

然后再分别把指针赋值上就行了。使用的时候,p[i][j] = *((*(p+i))+j).方便很多。

//以下代码copy right by Jack204.使用请注名出处。 #include 
#include
/** *class A { *..... *///为简洁,先写完代码,再添加参数验证的异常处理。//申请成功返回>0,否则=0。int *** allocArr(int a, int b, int c){ int *data, **fp, ***sp; int i, j, *q; data = (int*)malloc(sizeof(int)*a*b*c); fp = (int**)malloc(sizeof(int*)*a*b); sp = (int***)malloc(sizeof(int**)*a); for(i=0; i

转载于:https://www.cnblogs.com/jack204/archive/2012/08/01/2619164.html

你可能感兴趣的文章
编译原理--正规式和有限自动机
查看>>
web前端开发工具
查看>>
如何阅读一本书
查看>>
asp.net 画 数据图表
查看>>
PHP中集成PayPal标准支付
查看>>
使用数据集和XML
查看>>
HUT-XXXX 周正虎的难题 二分
查看>>
Wince程序获得当前路径(C#)
查看>>
VS2010中水晶报表应用与部署
查看>>
Notepad++ 快捷键 大全
查看>>
hive 摘记
查看>>
HDU 1114
查看>>
LINQ学习中关于null相关的问题及解决方案
查看>>
满二叉树先序、中序和后序之间的转换
查看>>
线程的资源释放(一)
查看>>
CString和string和CONST CHAR*的转换
查看>>
php返回json数据简单实例
查看>>
poj 2051 Argus(数据结构:优先权队列)
查看>>
有关 ecshop 属性 {$goods.goods_attr|nl2br} 标签的赋值问题
查看>>
pynag 0.4.6 发布,Nagios配置和插件管理
查看>>