伟杰龙电子
首页 | 产品中心 | 文章中心 | 下载中心 | 电子博客 | 电子论坛 | 开发板商城 | 各地代理 | 淘宝店 | 拍拍店 | 百度店
文章首页  |  业界动态  |  单片机  |  嵌入式系统  |  DSP  |  FPGA/CPLD  |  EDA技术  |  软件编程  |  元器件
电源技术  |  模拟电子  |  高频电子  |  无线通信  |  网络通信  |  消费电子  |  汽车电子  |  接口电路  |  职场人生
您现在的位置: 首页 >> 文章中心 >> 单片机 >> 纯c语言实现动态分配多维数组的方法
纯c语言实现动态分配多维数组的方法

来源:icembed  作者:未知  人气:62  时间:2008-11-18 01:11:46


普通的动态内存分配只能分配一维的数组:
例如:
#define ARRAY_SIZE    1024 ; 
unsigned char * pa = NULL ;  [script type=text/javascript] [/script] [script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript][/script] [script] window.google_render_ad(); [/script]

pa = (unsigned char *)malloc(ARRAY_SIZE) ;
然后就可以pa[1], pa[0] ...当成一维数组操作了。
释放的时候:
free(pa) ; 

但是,很多情况下,我们需要动态的二维数组,乃至多维数组,例如矩阵计算,有限元分析,三维实体建模等等。那么如何利用普通的c语言,实现多维数组呐?

动态二维数组:
#define ARRAY_SIZE     20*20
//这里是20x20的矩阵
unsigned char (*matrix_1)[20] ;
matrix_1 = (unsigned char (*)[20])malloc(ARRAY_SIZE) ; 
然后就可以matrix_1[0][0], matrix_1[0][1]。。。这样使用了。释放方式同一维数组。

动态的三维数组:
#define ARRAY_SIZE     5*32*32
//定义了5桢,每桢是32x32的矩阵 
unsigned char (*frame)[32][32] ;
frame = (unsigned char (*)[32][32])malloc(ARRAY_SIZE) ; 
然后就可以frame[0][0][0]之类的直接使用了,释放方法同上。

这样可以用普通的指针,利用可扩展的宏标记,实现对矩阵算法的封装了。
收藏此页】【打印】【关闭窗口】   

 相关文章
  纯c语言实现动态分配多维数组的方法  (2008-11-18 01:11:46)
 
   MSP430并口仿真器
   ATMEL ISP下载线
   WJ89C52V1.2单片机开发板
   WJ1C6V2.0 FPGA开发板
   PIC16F877A
   SST89E516 仿真芯片
   STC89C52
   USB AVRISP/STK500下载器
   WJ430F149V2.0单片机开发板
   WJ89S52V2.1单片机开发板
   WJ89S52V2.1单片机开发板
   1602字符型液晶屏
   Altera ByteBlasterII下载线
   USB BLASTER下载线
   128*64图形液晶屏
   WJ430F149V2.0单片机开发板
   WJ1C6V2.0 FPGA开发板
   WJ89C52V1.2单片机开发板
   WJ51PV2.1 51单片机编程器
   AT89S52
   程序的书写规则(程序的编码规
   c8051f单片机使用经验总结
   纯c语言实现动态分配多维数组
   从Cygnal C8051F看8位单片机
   51单片机控制的DS1302时钟程
   几种常用单片机介绍
   DSP开发中值得注意的几个问题
   德州仪器认为DSP技术正快速推
   Linux内核技术分析
   Linux操作系统12则经典应用技
   Linux操作系统发展简史
   教你一招 Linux常见紧急情况
   嵌入式Linux操作系统的驱动程
   基于嵌入式Linux平台多协议路
   系统学习linux的十一点
   单片机入门
   89S51与89C51的不同之处
   Keil C51程序设计中几种精确
   汇编程序编写的一些原则
   用单片机模拟I2C总线实现串行
   单片机与MMC卡的接口
   12位A/D转换器ADS7804与51单
   单片机显控系统中的汉字输入
   80C51单片机与MCS-51单片机的
   用FIFO实现高速模数转换器与
   基于MSP430单片机和nRF905的
   C51编程规则讲述
   基于单片机控制的高精密直流
   8051的汇编控制指令
   51单片机与串行AD转换器TLC2
关于我们 -- 各地代理 -- 付款方式 -- 购物流程 -- 售后服务 -- 淘宝店 -- 百度店 -- 拍拍店
Copyright © 2006-2008 伟杰龙电子 All Rights Reserved 沪ICP备08014295号
陈先生:QQ: 手机:13818903490 Email:
李先生:QQ: 手机:13622090409 Email:
宋先生:QQ: 手机:15881645409 Email:
电话:021-22819431 传真:021-66341252 地址:上海市宝山区大华路1380弄37号