关于2维数组与指针的探究

发布者:知者如渊最新更新时间:2015-02-09 来源: 51hei关键字:2维数组  指针  元素 手机看文章 扫描二维码
随时随地手机看文章
问题引出:一个2维数组board[3][3]
**(board+1)是指向哪个呢?
是board[1][0]还是board[0][1]?
答案是:board[1][0];

我是这么理解2维数组board[3][3] :一个2维数组里面有3个1维数组 ,每个1维数组中包含3个元素;多维数组a[i][j][k]可以这么理解:a[i][j][k]表示一个3维数组有i个2维数组,每个2维数组中有j个1维数组,每个1维数组包含k个元素。



源头: board,**(board+1)表示啥意思呢?
board是数组board[0]的地址,而不是一个具体元素的地址。board+1相当于是地址加上一个一维数组长度(board+1相当于是第0行数组首地址 加上一个一维数组长度的地址):
假如还是int board[4][5],那么sizeof(board)=5*sizeof(int) 。也就是说,board指向一个5 int长度一维数组的头指针地址,那么board+1,则在地址上board=board+sizeof(int)*5。哦,那就是board[1]的头指针地址了。所以**(board+1)=board[1][0];

渐进:“*board = &board[0];”个人体会:这里的*borad是数组board[0]中的具体元素的地址,(*board+1相当于是第0行数组首地址加上一个具体元素地址)
具体事例:“int array[3][4];int *ptr = array; ”这个是不对的。ptr和array有不同的级别,ptr指针引用的地址包含一个int类型的值,而array引用一个地址,那个地址引用另外一个包含int类型值的地址。arry比ptr多了一级。那么,ptr需要一个*,以获取地址中的值,而arry需要2个*。所以应该初始化:int *ptr=*arry; 或者 int *ptr =&array[0][0]; 或者 int *ptr = array[0]

附录:
关键字:2维数组  指针  元素 引用地址:关于2维数组与指针的探究

上一篇:精确延时整理(12T单片机)
下一篇:用74HC164实现数码管的静态显示

推荐阅读最新更新时间:2024-03-16 13:53

领邦调整品牌传播元素 瞄准高端检测市场
随着发展步伐不断加快,北京领邦仪器技术有限公司(后文简称“领邦仪器”)近日对品牌传播系统的几大元素进行了改进——修改品牌LOGO、升级官网、简化官网域名。 领邦仪器的全新LOGO如图所示,官网域名简化为 www.lbyq.net (“lbyq”为领邦仪器四字的拼音首字母)。崭新的领邦形象映射出大家风范,沉静简洁的升级版官网更显大气,简化的官网域名更易于制造行业获取检测信息。 崭新的领邦形象 新LOGO以“领邦”英文(Leader tech)缩写“LT”为LOGO原型基础,通过创意构思,融入企业核心价值观,直观体现行业属性,设计简洁大气,极具国际化企业风范。 此款LOGO内涵与领邦核心价值不谋而合,蓝色与灰色的互动似紧握的双手,寓
[半导体设计/制造]
3.堆栈指针寄存器 SP 详解
堆栈是一种具有“后进先出”(LIFO---Last In First Out)特殊访问属性的存储结构。堆栈一般使用RAM 物理资源作为存储体,再加上LIFO 访问接口实现。 堆栈的实现方法: 在随机存储器区划出一块区域作为堆栈区,数据可以一个个顺序地存入(压入)到这个区域之中,这个过程称为‘压栈’(push )。通常用一个指针(堆栈指针 SP---Stack Pointer)实现做一次调整,SP 总指向最后一个压入堆栈的数据所在的数据单元(栈顶)。从堆栈中读取数据时,按照堆栈 指针指向的堆栈单元读取堆栈数据,这个过程叫做 ‘弹出’(pop ),每弹出一个数据,SP 即向相反方向做一次调整,如此就实现了后进先出的原则。 堆
[单片机]
3.堆栈<font color='red'>指针</font>寄存器 SP 详解
ATtiny13 堆栈指针
堆栈指针主要用来保存临时数据、局部变量和中断 子程序的返回地址。堆栈指针总是指 向堆栈的顶部。要注意 AVR 的堆栈是向下生长的,即新数据推入堆栈时,堆栈指针的数 值将减小。 堆栈指针指向数据 SRAM 堆栈区。在此聚集了子程序堆栈和中断堆栈。调用子程序和使 能中断之前必须定义堆栈 0x60 的地址 PUSH 指令将数据推入堆栈时指针减一;而子程序或中断返回地址推入堆栈时指针将减二。使 用 POP 指令将数据弹出堆栈时,堆栈指针加一;而用 RET 或 RETI 指令从子程序或中断 返回时堆栈指针加二。 ATtiny13的堆栈指针由I/O 8位寄存器实现。实际使用的位数与具体器件有关。请 注意某些 AVR 器件的数据区太小,用 SP
[单片机]
ATtiny13 堆栈<font color='red'>指针</font>
指针式万用表的使用方法
“万用表”是万用电表的简称,它是我们电子制作中一个必不可少的工具。万用表能测量电流、电压、电阻、有的还可以测量三极管的放大倍数,频率、电容值、逻辑电位、分贝值等。万用表有很多种,现在最流行的有机械指针式的和数字式的万用表。它们各有优点,对于电子初学者,建议使用指针式万用表,因为它对我们熟悉一些电子知识原理很有帮助。下面我们就介绍一些指针式万用表的使用方法。 根据被测项,正确选择万用表上的测量项目及量程开关。如已知被测量的数量级,则就选择与其相对应的数量级量程。如不知被测量值的数量级,则应从选择最大量程开始测量,当指针偏转角太小而无法精确读数时,再把量程减小。 1、测试前,首先把万用表放置水平状态并视其表针是否处于零点(指电
[测试测量]
<font color='red'>指针</font>式万用表的使用方法
FIFO程序设计解析(队列指针
typedef struct { QUEUE_DATA_TYPE *Out; QUEUE_DATA_TYPE *In; QUEUE_DATA_TYPE *End; u16 NData; u16 MaxData; u8 (* ReadEmpty)(); u8 (* WriteFull)(); QUEUE_DATA
[单片机]
指针万用表与数字万用表的比较
指针式与数字式万用表各有优缺点。 指针万用表是一种平均值式仪表,它具有直观、形象的读数指示。(一般读数值与指针摆动角度密切相关,所以很直观)。 数字万用表是瞬时取样式仪表。它采用0.3秒取一次样来显示测量结果,有时每次取样结果只是十分相近,并不完全相同,这对于读取结果就不如指针式方便。 指针式万用表一般内部没有放大器,所以内阻较小,比如MF-10型,直流电压灵敏度为100千欧/伏。MF-500型的直流电压灵敏度为20千欧/伏。 数字式万用表由于内部采用了运放电路,内阻可以做得很大,往往在1M欧或更大。(即可以得到更高的灵敏度)。这使得对被测电路的影响可以更小,测量精度较高。 指针式万用表由于内阻较小,且多采用分立元件构成分流分压电
[测试测量]
数字万用表和指针万用表的选择及使用技巧
一、指针表和数字表的选用: 1、指针表读取精度较差,但指针摆动的过程比较直观,其摆动速度幅度有时也能比较客观地反映了被测量的大小(比如测电视机数据总线(sdl)在传送数据时的轻微抖动);数字表读数直观,但数字变化的过程看起来很杂乱,不太容易观看。 2、指针表内一般有两块电池,一块低电压的1.5v,一块是高电压的9v或15v,其黑表笔相对红表笔来说是正端。数字表则常用一块6v或9v的电池。在电阻档,指针表的表笔输出电流相对数字表来说要大很多,用r×1ω档可以使扬声器发出响亮的“哒”声,用r×10kω档甚至可以点亮发光(led)。 3、在电压档,指针表内阻相对数字表来说比较小,测量精度相比较差。某些高电压微电流的场合甚至无法测
[测试测量]
MSP430 单片机内指针或结构体赋值为NULL,却有默认值的解决办法
在几天前的一个项目里我用单片机做了一个小的音游系统(暂时还没发出来),在里面遇到了很诡异的事情,首先这是我的音符结构体(就是音游里面能击打的那种音符): typedef struct note note; struct note { int notetype;//1为单键,0为长键 unsigned long create_time;//创建时间,单位为毫秒 unsigned int length;//音符长度,每次判定 unsigned int n_length;//现在音符剩余长度 }; 然后我去网上毛(?)了一个c语言的队列文件,这里也附上链接:https://blog.csdn.net/qq_
[单片机]
MSP430 单片机内<font color='red'>指针</font>或结构体赋值为NULL,却有默认值的解决办法
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved