看板 C_and_CPP 關於我們 聯絡資訊
問題(Question): 好奇一件事: 我現在有很多個硬體IO address,想寫成array of pointers去存取它 int * const port_dir[10]={(int*)0x42128005, (int*)0x42128000, (int*)0x42188004, (int*)0x42128001, (int*)0x42188005, (int*)0x42128004,................} 在宣告/定義的時候, 除了上面這樣, 還有什麼方法initialize一堆pointer嗎? 像是 int * const port_dir[10]=(cast?){...} 不過這種還是make pointer from integer 覺得上面這樣寫很... 重複 除了寫成macro這種只是藏起來的方法 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.194.43 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1433255494.A.CD2.html
Feis: 先說清楚甚麼是重複? 理想的樣式呢? 06/02 22:33
kdjf: 不用打那麼多次(int*),只是想想啦,不然用vi插入也是很快 06/02 22:38
kdjf: 不知道有沒有好一點的style 06/02 22:39
kdjf: 或著說大家如果看到這種code(就算每個address都有註解) 06/02 22:40
azureblaze: 開個uint的array再cast成int*的array? 06/02 22:40
kdjf: 會不會氣到腦充血這樣 06/02 22:40
Feis: 你是不想有 address 還只是不想那麼多 cast ? 06/02 22:41
kdjf: 不想這麼多cast 06/02 22:42
kdjf: 有辦法不要有address嗎?! 06/02 22:43
Feis: 你心中沒有 address, address 就不在你心中 (阿門) 06/02 23:07
anyoiuo: Map+Macro如何? http://ideone.com/CYtEy3 06/03 16:07