亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

java - c/c++ 指針指向 數組和數據類型 判斷時會不會有二義性?

瀏覽:145日期:2024-01-04 16:18:28

問題描述

int dd=1;int *a=ⅆ // 1int *c=new int[2]; //2這里1說明a是int 類型的指針,2說明c是int數組類型的指針.對不?這段數據結構代碼

java - c/c++ 指針指向 數組和數據類型 判斷時會不會有二義性?

兩個理解:1.rowlist是個動態數組指向一大塊內存,數組里的元素存儲著指向LinkList<int>鏈表的地址。即rowlist是指針數組。如圖一

2.rowlist指向一個內存,這個內存存儲著<LinkList< int > * >類型的指針,即rowlist是指針的指針。如圖二

java - c/c++ 指針指向 數組和數據類型 判斷時會不會有二義性?

感覺兩個都可以,是要看具體實現嗎。比如rowlist=new ...是采用第一種?

問題解答

回答1:

int dd=1;int *a=&dd; // 1int *c=new int[2]; //2

題主說:

這里1說明a是int 類型的指針,2說明c是int數組類型的指針.對不?

并不是這樣的,a和c其實是同一個東西,他們是指向int的指針。c并不是“int數組類型的指針”。

為什么c本來是一個int指針,但實際上它卻可以指向一個int數組呢?因為int數組賦值給int指針的時候,C語言偷偷把它(int數組)轉換成了該int數組的首元素,這個“偷偷轉換”的專業名詞叫“隱式轉換”。

所以總結一下:

變量c不是int數組類型的指針,而是int類型的指針;

那為什么變量c竟然可以指向int數組呢,是因為其中發生了隱式轉換;

回答2:

int *c=new int[2]; //2

c就是指向int的指針。指向數組的指針應該寫成

int (*c)[2]=new int[2];

指針+1 會走幾個字節呢?試一試。

標簽: java
相關文章:
主站蜘蛛池模板: 亚洲日本在线免费观看 | 97视频在线免费播放 | 黄色片在线免费观看视频 | 国产a国产 | 国产精品久久久久久久久久直 | 日韩色爱| 国产精品外围在线观看 | 天天狠天天透天干天天怕处 | 国产精品久久久久免费 | 国产成人综合一区精品 | 性生活视频网站 | 国产亚洲一区二区精品张柏芝 | 污污网站免费观看 | 亚洲精品人成网在线播放蜜芽 | 色男人影院 | 国产日韩视频在线观看 | 欧美日韩亚洲国产一区二区综合 | 黄色片免费看 | 久久91亚洲精品久久91综合 | 欧美精品亚洲一区二区在线播放 | 婷婷午夜| 亚洲国产成人久久综合碰碰动漫3d | 天天综合色网 | 精品久久香蕉国产线看观看亚洲 | 久久香蕉国产线看免费 | 国产精品区一区二区免费 | 三级黄色大片 | 寡妇一级a毛片免费播放 | 青青草国产三级精品三级 | 日韩欧一级毛片在线播无遮挡 | 国产伦子一区二区三区四区 | 女人aaaaa片一级一毛片 | 久久一区不卡中文字幕 | 久久国内免费视频 | 亚洲国语在线视频手机在线 | 欧美二级在线观看免费 | 欧美做爰gif动态图一区二区 | 能免费观看的韩剧 | 日本美女黄色一级片 | 欧美色欧美亚洲另类二区 | 亚洲欧美韩国日产综合在线 |