看板 C_and_CPP 關於我們 聯絡資訊
最近在看C語言教學手冊 他說如果宣告一個 int a[3] = {0, 1, 2}; 假設 a[0] 位址是 1400 這個位址存放的值是 0 a[1] 位址是 1404 這個位址存放的值是 1 a[2] 位址是 1408 這個位址存放的值是 2 但他又說 a 是一個指標常數 位址是1400 裡面存放的值也是 1400 我知道為什麼他值是1400 但我不了解的是 同樣的1400位址 怎麼可以又存 0這個int數值 又存 位址1400 呢? 也就是為什麼他同時可以當指標 又當 int呢? 內部運作是如何解釋這個狀況呢 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.253.47
purpose:去學一下Visual C++或Codeblocks這些工具如何用來debug 09/05 18:23
purpose:自己在debug時(中斷點),觀察記憶體、反組譯碼 09/05 18:23
loveme00835:「a是陣列,不是指標」,雖然兩者運算很像, 但還是有 09/05 18:29
loveme00835:地方不一樣, 像是 sizeof 運算子 09/05 18:30
Bencrie:*a、a[index] <- 這些才是 int,a算 int* const吧 09/05 18:39
loveme00835:a 的型態是 int[3] 不是指標 09/05 18:44
purpose:a的型態,萬年爭論 09/05 18:50
hilorrk:歡迎看看"pointer to array請教"討論串XD 09/05 18:50
guanrulee:OK 謝謝樓上 我去看一下^^ 09/05 20:56