久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

關于2維數組與指針的探究

作者:佚名   來源:本站原創   點擊數:  更新時間:2014年04月10日   【字體:
問題引出:一個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]

附錄: 

 
關閉窗口
主站蜘蛛池模板: 免费成人在线网站 | 中文字幕一区二区三区四区 | 国产激情在线看 | 国产精品免费看 | 免费在线a视频 | 国产一区二区三区四区在线观看 | 一区二区三区av | 日韩福利在线 | 天天躁人人躁人人躁狂躁 | 日韩一区二区三区在线播放 | 性高湖久久久久久久久aaaaa | 亚洲精品国产a久久久久久 午夜影院网站 | 亚洲一区二区三区免费在线观看 | 欧美日韩精品专区 | 国产精品色综合 | 2018国产大陆天天弄 | 亚洲女人天堂成人av在线 | 精彩视频一区二区三区 | 久久合久久 | 国产精品国产精品国产专区不片 | 91精品导航 | 毛片入口 | 亚洲欧美在线观看 | 日本三级视频 | 国产区在线观看 | 在线欧美一区二区 | 成人免费视频网站在线看 | 久久久久久国产精品 | 久久成人18免费网站 | 91精品国产日韩91久久久久久 | 在线观看国产视频 | 色综合久久天天综合网 | 99精品观看 | 电影91久久久 | 精品国产18久久久久久二百 | 91精品国产综合久久久久久丝袜 | 久久久婷 | 9999久久 | 播放一级黄色片 | 一区二区在线免费观看视频 | 99精品久久久国产一区二区三 |