日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

指针(二)

發布時間:2025/4/9 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 指针(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上次對指針進行了初步認識,接下來,繼續挖掘C語言的 指針與一維數組: 這時編譯是沒有問題的: 編譯: 輸出結果: 這里面會有點繞,但很重要,先運行一段程序,再來闡述上面的觀點: #include <stdio.h>int main(void) {int a[] = {1, 2, 3, 4, 5};int* p = a;printf("%p\n", a);printf("%p\n", &a);printf("%p\n", a+1);printf("%p\n", &a+1);return 0; }

運行結果:

結果 a+1 和 &a+1 輸出不一樣,這時怎么回事呢,且聽我慢慢分析:

因為a表示int*,是一個int類型的指針,所以a+1偏移的是一個元素是一個int類型,既4個字節,所以0xbff7f218 + 0x4變成了0xbff7f22c。

&a表示指向數據變量的指針(數組指針),所以&a+1偏移的一個元素是一個數組int[5]類型,既20個字節: 所以0xbff7f218 + 0x14變成了9xbff2f22c

記住:上面提到了數組指針,下面對其進行一個介紹,注意下面兩個區別 數組指針: int (*p)[5] 這里的p是一個指針,指向一個具有5個元素的數組指針 指針數組: int *p[5] 這里的p是一個數組,數組中的元素類型是int* 接著用程序驗證一下上面指出的理論: 編譯一下,出錯了: 再改編一下: 這時編譯,則成功了: 注意以下意圖表示“數組指針”的方法: 編譯: 理解了上面的東西,下面以一個例子,以多種方式來打印數組的元素(理解這段程序的前提,需理解上面所學到的): #include <stdio.h>int main(void) {int a[5] = {1, 2, 3, 4, 5};int i;int* p;for (i=0; i<5; i++){printf("a[%d]=%d, *(a+%d)=%d\n", i, a[i], i, *(a+i));printf("&a[%d]=%p, a+%d=%p\n", i, &a[i], i, a+i);}//以指針的方式打印元素for (p=a; p<a+5; p++){printf("address:%p, value:%d\n", p, *p);}return 0; }

輸出結果:

指針與二維數組: 這里面比較繞,一一分析來理解: (回顧) 對于一維數組int a[3]; 數組名a可以看成是一個常量指針,類型相當于int*,也就是一個整型指針。 對于二維數組int a[3][4]: 數組名a可以看成是一個常量指針,類型相當于int (*p)[4],也就是數組指針。 而a[2]的類型是int*;a[2] + 2仍然是一個指針。 所以*(a[2] + 2)的類型就是一個int類型。 對于上圖中的表示方法有很多,理解性去記性。 下面通過一個例子,來綜合使用二維數組的用法: #include <stdio.h>int main(void) {int a[4][3] = {{1, 2, 3}, {4, 5, 6},{7, 8, 9}, {10, 11, 12}};int (*p)[3] = a;int i, j;//打印第一行的元素for (i=0, j=0; j<3; j++){printf("%d\t", *(*p+j));}putchar('\n');//打印第二行的元素for (i=1, j=0; j<3; j++){printf("%d\t", *(p[i]+j));}putchar('\n');//打印第三行的元素for (i=2, j=0; j<3; j++){printf("%d\t", (*(p+i))[j]);}putchar('\n');//打印第四行的元素for (i=3, j=0; j<3; j++){printf("%d\t", *(&p[0][0]+i*3+j));}putchar('\n');//打印第四行的元素,變形for (i=3, j=0; j<3; j++){printf("%d\t", (&p[0][0])[i*3+j]);}putchar('\n');return 0; }

運行結果:

為了更好的理解二維數組,下面用程序來分解下: 看運行結果: 也就是:0xbff31ccc + 0xc = 0xbff31cd8 好了,關于指針與數組這一塊的內容就學到這,下回繼續探索指針!!

轉載于:https://www.cnblogs.com/webor2006/p/3463918.html

總結

以上是生活随笔為你收集整理的指针(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩精品在线观看中文字幕 | 欧美另类一区二区 | 免费观看视频在线观看 | 97在线影院 | 亚洲欧美中日韩 | 福利电影在线播放 | 日本在线视频播放 | 成人激情综合 | 国产色视频一区二区三区qq号 | 日本护士做爰视频 | 五月天av影院 | 成人毛片在线视频 | 国产伦精品一区二区三区免费迷 | 日韩欧美中文字幕一区二区三区 | 自拍偷拍视频在线 | 中文字幕乱码中文字幕 | 国产毛片毛片毛片毛片毛片 | 日本黄页网址 | 男人的天堂一区 | 在线 日本 制服 中文 欧美 | 日本一区二区三区精品视频 | 不用播放器的av网站 | 午夜激情在线播放 | 国产av一区二区三区精品 | 久久精品8 | 草久久av| 国产精品久久婷婷六月丁香 | 国产精品污www在线观看 | 天天色天天色 | 国产1区2区3区中文字幕 | 91精品啪 | 国产aⅴ一区二区三区 | 亚洲美女黄色 | 欧洲女同同性吃奶 | 无码人妻少妇色欲av一区二区 | 成人av免费在线观看 | 国产超碰精品 | 亚洲精品国产精品乱码 | 日本一二三不卡视频 | 欧美日韩国产三级 | 日本成人免费视频 | 红桃视频一区 | 97干在线| 欧美一级α片 | 免费国产一区二区三区 | x88av在线| 亚洲综合站 | 91一区二区国产 | 午夜极品视频 | 91综合精品| 无码人妻精品丰满熟人区 | 亚洲免费一区视频 | 国产精品亚洲αv天堂无码 伊人性视频 | 高清av网址 | 国产免费一区二区三区免费视频 | 亚洲成人久 | 久久艹这里只有精品 | 国产精品一线二线 | 久久久久久久麻豆 | 国产第一页在线播放 | 日韩美女免费视频 | 高潮喷水一区二区三区 | 美腿丝袜一区二区三区 | 国产永久在线观看 | 国产精品久久久久久免费免熟 | 国产一区久久 | 日韩欧美在线观看一区二区 | 95香蕉视频 | 亚洲乱码精品久久久久 | 91大神在线观看视频 | 中国男人操女人 | 日日摸日日碰夜夜爽无码 | 很污很黄的网站 | 一区二区三区伦理片 | 私人网站| 色婷婷av一区二区三区之红樱桃 | 色多多视频在线观看 | 亚洲av无码一区二区二三区 | 久久久久久国产精品免费 | 午夜精品久久久久久久爽 | www.青青草.com | 最好看的日本字幕mv视频大全 | 欧美黄一级| 中文字幕一本 | 欧美爱爱视频 | 国产在线网址 | 欧美精品自拍视频 | 丝袜五月天 | 久草综合视频 | 久久国产精品波多野结衣 | 91国产在线免费观看 | www.欧美一区二区三区 | 欧美成人精品欧美一级乱 | 成人不卡| 白丝校花扒腿让我c | 天堂av网手机版 | 动漫精品一区二区三区 | 免费看黄色片视频 | 特级精品毛片免费观看 |