[問題] 關於指標陣列取位址

看板C_and_CPP (C/C++)作者時間14年前 (2012/05/29 16:42), 編輯推噓5(5017)
留言22則, 6人參與, 最新討論串1/1
我這邊想使用指標陣列來模擬出資料結構的效果 例如我給定兩陣列 char *dir[2], *page1[2], *page2[2], entry1[] = {"hello"}, entry2[] = {"world"}; entry3[] = {"hello"}, entry4[] = {"world"}; 然後再建立指標陣列的連結關係 dir[0] = page1; page1[0] = entry1; page1[1] = entry2; dir[1] = page2; page2[0] = entry3; page2[1] = entry4; 接著我再給一指標 char *ptr = dir; 之後就單用ptr來去存取到entry1, entry2, entry3, 與entry4的內容 不過這邊有一個小問題 當我的ptr要取出dir[0]中的記憶體位址回存至ptr中 讓指標指向page1的記憶體位址OB 會有型態不同的問題 勢必我一定要將程式轉型成改寫成 ptr = (unsigned char *)*ptr; 才能讓指標指向到page1的記憶體 目前以我的情況一定要用到型態轉型 才能達到單一指標指向到任一的entry上嗎?? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.136.144.15

05/29 16:46, , 1F
那就在高層的陣列上多加一點星星吧
05/29 16:46, 1F

05/29 16:46, , 2F
順帶提醒你自己東西存在那麼多層底下
05/29 16:46, 2F

05/29 16:48, , 3F
指標的指標再指標.....寫程式不用這樣搞自己吧
05/29 16:48, 3F

05/29 16:50, , 4F
啊, 你還有 ptr....說真的你的 ptr 這樣用實在不太對勁
05/29 16:50, 4F

05/29 16:51, , 5F
如果typedef char* dirName;typedef char* pageName;
05/29 16:51, 5F

05/29 16:51, , 6F
個人覺得同一個指標不該能夠指向邏輯上不同層次的資料
05/29 16:51, 6F

05/29 16:52, , 7F
把所有的指標都給他一個名字,這樣比較不會亂
05/29 16:52, 7F

05/29 16:52, , 8F
要硬來不是沒招但很累 還不如弄個 struct
05/29 16:52, 8F

05/29 16:56, , 9F
因為對學生而言指標目前學到應該還沒有什麼花樣可以玩
05/29 16:56, 9F

05/29 16:56, , 10F
就想來點不同的試試XD
05/29 16:56, 10F

05/29 17:03, , 11F
05/29 17:03, 11F

05/29 17:29, , 12F
要花樣弄個樹就好啦 XD 指標東飛西飛的好不熱鬧 (?)
05/29 17:29, 12F

05/29 18:20, , 13F
那個想請問一下L大在高層陣列再加星的用意是...
05/29 18:20, 13F

05/29 18:50, , 14F
第幾行?
05/29 18:50, 14F

05/29 19:18, , 15F
你跟自己有仇嗎XD
05/29 19:18, 15F

05/29 19:20, , 16F
其實我是想問LPH66 orz
05/29 19:20, 16F

05/29 19:23, , 17F
大概就這樣吧 http://ideone.com/g3EJo
05/29 19:23, 17F

05/29 19:24, , 18F
個人覺得 love~ 大的寫法才是精華,研究他的沒壞錯。
05/29 19:24, 18F

05/29 19:25, , 19F
< 另外 char entry1[] = "Hello" 是不用加大括號的。 >
05/29 19:25, 19F

05/29 19:59, , 20F
了解, 感謝!
05/29 19:59, 20F

05/29 20:13, , 21F
Orz....
05/29 20:13, 21F

05/29 20:31, , 22F
也感謝樓上XD
05/29 20:31, 22F
文章代碼(AID): #1Fn8m3no (C_and_CPP)
文章代碼(AID): #1Fn8m3no (C_and_CPP)