[爆卦]C 指標 用途是什麼?優點缺點精華區懶人包

為什麼這篇C 指標 用途鄉民發文收入到精華區:因為在C 指標 用途這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者mistel (Mistel)看板C_and_CPP標題[問題] C的指標和陣列時間Tue Ma...

C 指標 用途 在 歐陽靖 ????? Instagram 的最佳解答

2021-08-16 10:36:16

妳有多重視育兒生活的質感?對我而言,即使 #新手媽媽 照顧孩子的日常再忙碌,我也只選用設計性與功能性兼具的嬰兒用品,這是我對優雅育兒的堅持。而 #小獅王辛巴 的全新蘊蜜 #鉑金奶瓶 系列絕對是市面上最美、最有質感的奶瓶。 ⁡ 新醬從一出生用的就是 #小獅王 辛巴奶瓶,毫無疑問地它是 #奶瓶最高指標!...


hi,想問一點比較初階的東西,看看自己的理解對不對
問題描述:
https://i.imgur.com/bnSFVCv.jpg
如果我這樣宣告:
int a[10];
這時候單純看a這個變數其實就是一個指向叫做a的整數陣列指標,沒錯嗎?

我原本以為a會在記憶體上的其他位置,然後像指標一樣指向陣列的起始位址
像下圖這樣:
https://i.imgur.com/n7OTGZq.jpg
但實際測試過後才知道a這個指標就位在陣列的起始位址


那我的問題是:
1.a是一個指標嗎?不然為什麼compiler會警告我a是一個 int *的參數呢?

2.如果我做下列動作
print ("%x", a)
也確實print出陣列的起始位址了,那不是代表a的記憶體地址內的資料確實是陣列的起始位
址嗎?
那這樣a[0]是存的東西為什麼不是陣列的起始地址?

以上兩個感覺有點初階的東西,但小弟一直想不透,懇請板友指點,謝謝

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.50.38 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1583224068.A.FC6.html
ddavid: 你可以參閱stackoverflow上的這一則:03/03 16:44
ddavid: http://bit.ly/2PCjXO703/03 16:44
感謝你!
plsmaop: 請參考 jserv 指標篇03/03 17:26
好的,小弟會去參考
沒想到在這邊也能看到p大!
※ 編輯: mistel (114.136.50.38 臺灣), 03/03/2020 18:33:48
gama79530: 你可以把陣列(例如int a[10]的a)當成指標"常數" 03/04 01:59
gama79530: 意思就是他是一個指標,但是你不能去改他的位址 03/04 02:00
gama79530: 然後他的值是compiler會自動給值,不用像一般指標變數 03/04 02:00
gama79530: 要用malloc這類指令去取得位址 03/04 02:01
yoche2000: 推jserv大神 03/06 02:14

你可能也想看看

搜尋相關網站