欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

深入理解數(shù)組指針與指針數(shù)組的區(qū)別

 更新時(shí)間:2013年05月26日 16:47:35   作者:  
本篇文章是對(duì)數(shù)組指針與指針數(shù)組的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

數(shù)組指針與指針數(shù)組的區(qū)別在于:數(shù)組指針p是一個(gè)指針,而指針數(shù)組p是一個(gè)存放N個(gè)指針變量的數(shù)組。

一、數(shù)組指針
int (*p)[n]
重點(diǎn):()
優(yōu)先級(jí)高([]、()的優(yōu)先級(jí)是一樣的,但它們的方向是從左至右的,所以先運(yùn)行括號(hào)里的*p),首先說(shuō)明p是一個(gè)指針,指向一個(gè)整型的一維數(shù)組,這個(gè)一維數(shù)組的長(zhǎng)度是n,也可以說(shuō)是p的步長(zhǎng)。也就是說(shuō)執(zhí)行p+1時(shí),p要跨過(guò)n個(gè)整型數(shù)據(jù)的長(zhǎng)度(n*sizeof(int))。
如要將二維數(shù)組賦給一指針,應(yīng)這樣賦值:
       int a[3][4];
       int (*p)[4];
//該語(yǔ)句是定義一個(gè)數(shù)組指針,指向含4個(gè)元素的一維數(shù)組。
       p = a;        //將該二維數(shù)組的首地址賦給p,也就是a[0]或&a[0][0]
       p++;      //<=>a[1]<=>p[1]
同時(shí)用來(lái)指向二維數(shù)組時(shí),其引用和用數(shù)組名引用都是一樣的即a<=>p。比如要表示數(shù)組中i行j列一個(gè)元素a[i][j]:
       p[i][j]<=>a[i][j] <=>*(p[i]+j)<=>*(a[i]+j) <=> *(*(p+i)+j)<=>*(*(a+i)+j) <=>  (*(p+i))[j]<=>(*(a+i))[j]
 
二、指針數(shù)組
int *p[n]
重點(diǎn):[]
優(yōu)先級(jí)高,先與p結(jié)合成為一個(gè)數(shù)組,再由int*說(shuō)明這是一個(gè)整型指針數(shù)組,它有n個(gè)指針類型的數(shù)組元素:即它就是一個(gè)存放了n個(gè)指針的數(shù)組。
這樣賦值也是錯(cuò)誤的:p=a;因?yàn)閜是個(gè)右值,p的值只存在p[0]、p[1]、p[2]...p[n-1],而且它們分別是指針變量可以用來(lái)存放變量地址。但可以這樣*p=a; 這里*p表示指針數(shù)組第一個(gè)元素的值,a的首地址的值。
如要將二維數(shù)組賦給一指針數(shù)組:
        int *p[3];
        int a[3][4];
        for(i = 0; i < 3; i++)
        p[i] = a[i];
這里int *p[3] 表示一個(gè)一維數(shù)組內(nèi)存放著三個(gè)指針變量,分別是p[0]、p[1]、p[2],默認(rèn)情況下這三個(gè)指針變量都指向NULL的,所以要分別賦值。

相關(guān)文章

  • Opencv使用Stitcher類圖像拼接生成全景圖像

    Opencv使用Stitcher類圖像拼接生成全景圖像

    這篇文章主要為大家詳細(xì)介紹了Opencv使用Stitcher類圖像拼接生成全景圖像,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語(yǔ)言實(shí)現(xiàn)雙向鏈表

    C語(yǔ)言實(shí)現(xiàn)雙向鏈表

    本文給大家分享的是一段使用C語(yǔ)言實(shí)現(xiàn)雙向鏈表的代碼,完全是根據(jù)自己的理解和認(rèn)識(shí)來(lái)編寫(xiě)的,希望大家能夠喜歡,文章的最后附上了一個(gè)網(wǎng)友寫(xiě)的對(duì)于雙向鏈表刪除節(jié)點(diǎn)、插入節(jié)點(diǎn)、雙向輸出等操作的代碼,也非常不錯(cuò),推薦給大家
    2015-03-03
  • C/C++模擬實(shí)現(xiàn)煙花效果的示例代碼

    C/C++模擬實(shí)現(xiàn)煙花效果的示例代碼

    這篇文章主要為大家詳細(xì)介紹了C/C++模擬實(shí)現(xiàn)煙花效果的兩種簡(jiǎn)單方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解下
    2024-01-01
  • mfc入門教程之實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器

    mfc入門教程之實(shí)現(xiàn)一個(gè)簡(jiǎn)單的計(jì)算器

    這篇文章主要介紹了mfc入門教程,手把手教你如何開(kāi)發(fā)一個(gè)簡(jiǎn)單的計(jì)算器,需要的朋友可以參考下
    2019-04-04
  • C語(yǔ)言版停車位管理系統(tǒng)

    C語(yǔ)言版停車位管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言版停車位管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • google c++程序測(cè)試框架googletest使用教程詳解

    google c++程序測(cè)試框架googletest使用教程詳解

    &#8203;GoogleTest 是 Google 的 C++ 測(cè)試和模擬框架,可以幫助程序員測(cè)試C++程序的結(jié)果預(yù)期,這篇文章主要介紹了google c++程序測(cè)試框架googletest使用教程,需要的朋友可以參考下
    2021-08-08
  • C++ 中的異常拋出和捕獲方式

    C++ 中的異常拋出和捕獲方式

    這篇文章主要介紹了C++ 中的異常拋出和捕獲方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • C++前綴和與差分的使用示例講解

    C++前綴和與差分的使用示例講解

    前綴和是指某序列的前n項(xiàng)和,可以把它理解為數(shù)學(xué)上的數(shù)列的前n項(xiàng)和,而差分可以看成前綴和的逆運(yùn)算。合理的使用前綴和與差分,可以將某些復(fù)雜的問(wèn)題簡(jiǎn)單化。類似于數(shù)學(xué)中的求導(dǎo)和積分,差分可以看成前綴和的逆運(yùn)算
    2023-03-03
  • C++模擬實(shí)現(xiàn)string類的實(shí)例代碼

    C++模擬實(shí)現(xiàn)string類的實(shí)例代碼

    這篇文章主要給大家介紹了C++如何模擬實(shí)現(xiàn)string類,文章通過(guò)代碼示例講解的非常詳細(xì),有完整的實(shí)現(xiàn)過(guò)程,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-08-08
  • C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之二叉樹(shù)的非遞歸后序遍歷算法

    C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之二叉樹(shù)的非遞歸后序遍歷算法

    這篇文章主要介紹了C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之二叉樹(shù)的非遞歸后序遍歷算法的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-10-10

最新評(píng)論