日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C語言之二維數(shù)組

二維數(shù)組及其指針

1 ) 在了解二維數(shù)組之前,我們先來了解一維數(shù)組及其指針

公司主營業(yè)務:成都網(wǎng)站建設、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出贊皇免費做網(wǎng)站回饋大家。

我們知道,一維數(shù)組中:數(shù)組名代表-->數(shù)組首元素的首地址    (千萬不要認為是數(shù)組的首地址(&a),絕對不是)

  1. 在內(nèi)存中,該代碼的表現(xiàn)形式如下圖:  

  2. #include  
    {  
          int a[4];  
          int *p  = a;  //表明該指針指向了數(shù)組的首元素地址,當然也可以寫為 int *p = &a[0];  
          return 0;  
    }

C語言之二維數(shù)組

-- 這時候,對指針取值(*p),就是對取出指向地址&a[0]中的值的就是a[0]的數(shù)據(jù)。

----------------------------------分割線------------------------------------

2 )下面我們進入二維數(shù)組的介紹,首先,請看一段代碼:

  1. #include  

  2. int main()  

  3. {  

  4.     int a[2][4] = {1,2,3,4,  

  5.                    5,,4,5,6};  

  6.    return 0;  

  7. }該代碼的表現(xiàn)形式如下圖:  

C語言之二維數(shù)組  右邊的a[ 0 ] [ 0 ]  這些數(shù)據(jù)對應的是二維數(shù)組中(每個數(shù)組中的元素)。

了解了二維數(shù)組在內(nèi)存中的表現(xiàn)形式: 

--我們開始引入數(shù)組指針的概念:


    2.1)  顧名思義:數(shù)組指針就是指向數(shù)組的指針,根據(jù)復雜類型的確認 ,數(shù)組指針形式為  int(*p)[ 3 ]; 表明該指針指向了(有三個int型數(shù)據(jù))的數(shù)組 ,那么該數(shù)組名 a 就是數(shù)組a[ 0 ]的首地址,即(&a[ 0 ],也可寫為a)

---(這點和一維數(shù)組的數(shù)組名相同----->都是數(shù)組首元素的首地址)

(***注意:該 圖形兩塊不同的區(qū)域代表兩個不同的數(shù)組----后面跟著的是每一個數(shù)組里面包含的元素)


     2.2)  a[ 0 ]這個數(shù)組名 代表了a[ 0 ]這個數(shù)組里面 a[ 0 ][ 0 ]的值的地址, 即----> a[ 0 ] == &a[ 0 ][ 0 ]   -

對于a[ 0 ]---- 這里可理解(不可畫等號)為a[ 0 ] 是一個指針 ( 因為數(shù)組名是該首元素a[ 0 ][ 0 ]的地址嘛,既然是地址,就必須用指針來接收 )。

C語言之二維數(shù)組

    2.3)p = a ;就是指向了a[ 0 ]這個數(shù)組的首地址。 也可寫成&a[ 0 ];  名為二維數(shù)組的行指針

      那么如果對 p 進行 p +1 操作,就表示地址移動到下一行(移動了sizeof(int)*4 = 16個字節(jié)),就是下一個數(shù)組的地址 -- 如上圖所示         

    技巧 - -  / * 我們將二維數(shù)組依次看作一維數(shù)組逐步分析 * /

     2.4)所以 p = a  + i ;   等價于   p = &a[ 0 ] + i     

這是行指針的概念,如果對 p 取 * 運算符,表示取出 p 指向的內(nèi)容,而 p 指向的的內(nèi)容就是a[ 0 ],     行指針用來確定對哪一個數(shù)組的值進行操作,  直觀的就是,這這個二維數(shù)組中, 選 a[ 0 ], a[ 1 ]這兩個之中的其中一個進行操作),  

      2.5)  *p  = *( &a[  0 ] )= a[ 0 ]  , * (p + i) = a[ i ](c語言中,方括號[ ]運算符和*()運算符一致,可互換)  

  a[ 0 ]  + i   ==  &a[ 0 ][ 0 ] + i     就是列指針的概念(對數(shù)組的每一個元素進行操作),對a[ 0 ]這個數(shù)組里面的元素地址 + i ,指到相應元素a[ 0 ][ i ]的地址  即 &a[ 0 ][ i ]我們已經(jīng)知道a[ 0 ]就是 a[ 0 ][ 0 ]的值的地址,即&a[ 0 ][ 0 ]   所以如果對a[ 0 ]取 * 運算符,得到的就是a[ 0 ][ 0 ]的值。

      即 *( a[ 0 ]+ i ) = a[ 0 ][ i ]

--------------------------------------看了這些不知道對各位朋友有無幫助。

  下面我對二級指針做一個畫圖分析: 讓我們更深一步的理解二維數(shù)組指針

C語言之二維數(shù)組

            ---------------------------------------------------------------------------------------------------

在文中有什么不對或者需要改進的地方,請各位朋友對我給出寶貴的意見和建議



本文題目:C語言之二維數(shù)組
當前URL:http://www.dlmjj.cn/article/jodpoi.html