色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 指針數(shù)組與數(shù)組指針

指針數(shù)組與數(shù)組指針 時間:2018-09-29      來源:未知

了解了關(guān)于指針的基本內(nèi)容后,針對于指針的高級內(nèi)容,比如說指針數(shù)組和數(shù)組指針是經(jīng)常容易混淆的兩個概念,下面我就跟大家簡單的介紹關(guān)于這兩個概念的理解與記憶。

要想了解指針數(shù)組和數(shù)組指針這兩個概念,那就得先來看一下指針和數(shù)組之間一些說不清的關(guān)系。

1. 指針與一維數(shù)組:直接上例子

舉例:打印數(shù)組的內(nèi)容:

Int a[4] = {1,2,3,4}, i;

Int *p = a;

  For(I = 0; I < 4; i++)

{

Printf(“a[%d]=%d”, I, a[i]);

Printf(“a[%d]=%d”, I, *(p+i));//解釋:p指針指向了數(shù)組a,數(shù)組是連續(xù)的地址,在前面的內(nèi)容中學(xué)到,p+i是指向地址大的方向移動i個數(shù)據(jù),p+I ==&a[i]

Printf(“a[%d]=%d”, I, p[i]);

Printf(“a[%d]=%d”, I, *(a+i));

}

舉例:那打印數(shù)組的地址呢??

注意:從上面的例子可以看出:

數(shù)組的內(nèi)容:a[i] == p[i] == *(p+i) == *(a+i)

數(shù)組的地址:&a[i] == &p[i] == p+I == a+i

在這里很多人可能會想指針與數(shù)組好像沒有多大的區(qū)別,數(shù)組可以用指針來代替,但實際上兩者之間存在一個本質(zhì)的區(qū)別,那就是:數(shù)組名它是一個地址常量,指針是指針變量。

如: int a[3] = {1,2,3}, *p = a;

Printf(“%p\n”, p++);

Printf(“%p\n”, a++);//錯:a++ a=a+1,a是地址常量,常量是不能被賦值的

Printf(“%p\n”, a+1);//對:a+1并沒有進(jìn)行賦值運算

2. 指針與二維數(shù)組:

對二維數(shù)組的理解:可以把二維數(shù)組看作由多個一維數(shù)組組成,如int a[2][3],可以理解成兩個一維數(shù)組:a[0](是一個一維數(shù)組名,包含三個元素a[0][0]\a[0][1]\a[0][2])和a[1](包含三個元素:a[1][0]\a[1][1]\a[1][2])

思考:

1. 數(shù)組int a[2][3],如何表達(dá)第二行第二列元素的地址?

&a[1][1]、&a[1][0]+1、a[1]+1、*(a+1)+1

2. 數(shù)組int a[2][3],如何表達(dá)第二行第二列元素的元素?

a[1][1]、*(&a[1][0]+1)、*(a[1]+1)、*(*(a+1)+1)

到目前為止只是二維數(shù)組的一個相應(yīng)操作,那把二維數(shù)組和指針牽扯上關(guān)系后會怎么樣呢??接下來看我們的指針數(shù)組和數(shù)組指針。

注意:

數(shù)組的內(nèi)容:a[i][j] == *(a[i]+j) == *(*(a+i)+j)

數(shù)組的地址:&a[i][j] == a[i]+j == *(a+i)+j

3. 指針數(shù)組:數(shù)組,指由若干個具有相同存儲類型和數(shù)據(jù)類型的指針變量構(gòu)成的集合,數(shù)組的元素是指針的數(shù)組。

形式:<存儲類型>  <數(shù)據(jù)類型>  *<指針變量數(shù)組名>[<數(shù)組大小>];

int  *p[3];

舉例:

int a[2][3] = {{1,2,3},{4,5,6}};

int *p[2] = {a[0], a[1]}, i, j;

for(i = 0; i < 2; i++)

{

for(j = 0; j < 3; j++)

{

//printf("&a[%d][%d]=%p ", i, j, &a[i][j]);

//printf("&a[%d][%d]=%p ", i, j, a[i] +j);

//printf("&a[%d][%d]=%p ", i, j, *(a+i)+j);

//printf("&a[%d][%d]=%p ", i, j, &p[i][j]);

//printf("&a[%d][%d]=%p ", i, j, p[i]+j);

printf("&a[%d][%d]=%p ", i, j, *(p+i)+j);

}

}

putchar(10);

注意:

地址:&a[i][j] <==> a[i] + j <==> *(a+i) + j <==> *(p+i)+j <==> p[i] + j <==>&p[i][j]

內(nèi)容:a[i][j] <==> *(a[i] + j) <==> *(*(a+i) + j) <==> *(*(p+i)+j) <==> *(p[i] + j) <==>p[i][j]

4. 數(shù)組指針:指針,指向數(shù)組的指針,指向特定位數(shù)數(shù)組的指針(指向一個有三個int 型元素數(shù)組的指針,指針加一,指針偏移12個字節(jié))

形式:<存儲類型>  <數(shù)據(jù)類型>  *<指針變量數(shù)組名>[<數(shù)組大小>];

int  (*p)[3];

1) 指向一維的:

如:int a[4]  int [4]a  INT a

Int (*p)[4]  int [4](*p)  INT (*p)

所以等價關(guān)系為:p = &a

舉例:

Int a[4] = {1,2,3,4};

Int (*p)[4], i;

P = &a;

For(I = 0; I < 4;i++)

{

Printf(“%d\n”, (*p)[i]);

Printf(“%d\n”, *((*p)+i));

Printf(“%p\n”, (*p)+i);

}

注意:

地址:(*p)+i

內(nèi)容:*((*p)+i)、(*p)[i]

2) 指向二維的:

如:int a[3][4]  int [4] a[3]  INT [4] a[3]

Int (*p)[4]  int [4] (*p)  INT [4] (*p)

所以等價關(guān)系為:p = a

舉例:

int a[3][4] = {11,22,33,44,55,66,77,88,99,100,110,120};

int (*p)[4] = a; 

int i = 0,j = 0;

for(i = 0;i < 3;i++)

{

for(j = 0;j < 4;j++)

{

//printf("%d ",p[i][j]);

//printf("%d ",*(p[i] + j));

printf("%d ",*(*(p + i) + j));

}

putchar(10);

}

以上便是我對于指針數(shù)組和數(shù)組指針的理解,希望能夠?qū)ψx者有所幫助!

上一篇:如何在C中動態(tài)分配二維數(shù)組

下一篇:linux線程私有數(shù)據(jù)

熱點文章推薦
華清學(xué)員就業(yè)榜單
高薪學(xué)員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技集團(tuán)有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 放荡开放的人妻穿丁字裤凹 | 人妻无码久久精品人妻 | 亚洲av久播在线播放 | 国产一区二区三区小说 | 国产在线无码精品无码 | 性夜久久一区国产9人妻 | 色欲国产麻豆一精品一av一免费 | 国产精品人妻99一区二区三区 | 人人妻碰人人免费 | 亚洲高清国产拍精品熟女 | 四虎成人免费视频在线播放 | 亚洲欧美激情在线 | 久久精品无码精品免费专区 | 国产亚洲精品久久久999蜜臀 | 亚洲av 无码片一区二区三区 | 中文日产幕无线码一区2023 | 天堂素人约啪 | 日本无码全黄二区三区大片免费看 | 亚洲自偷自偷在线制服 | 丰满的少妇被猛烈进入白浆 | 无码爽大片日本无码AAA特黄 | 国产交换配乱婬视频 | 免费看黄a级毛片 | 中文字幕欧美视频在线 | 色婷婷日韩 | 亚洲18色成人网站www | 日本丰满熟妇无码惨叫 | 久久精品夜 | 琪琪伦伦影院理论片 | 久久综合九色综合97婷婷 | 色综亚洲国产VV在线观看 | 日本香蕉网 | 亚洲AV香蕉一区区二区三区 | 国产 日韩 欧美 精品 大秀 | bestialityvideo另类骆驼 | 女性自慰aⅴ片高清免费 | 天堂资源中文网 | 福利视频欧美一区二区三区 | 很黄很爽的视频网站 | 久久夜色精品国产噜噜亚洲AV | 精品国产精品国产偷麻豆 |