[問題] cast array of int to array of pointer

作者: kdjf (我抓得到什麼呢?)   2015-06-02 22:31:30
問題(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這種只是藏起來的方法
作者: Feis (永遠睡不著 @@)   2015-06-02 22:33:00
先說清楚甚麼是重複? 理想的樣式呢?
作者: kdjf (我抓得到什麼呢?)   2015-06-02 22:38:00
不用打那麼多次(int*),只是想想啦,不然用vi插入也是很快不知道有沒有好一點的style或著說大家如果看到這種code(就算每個address都有註解)
作者: azureblaze (AzureBlaze)   2015-06-02 22:40:00
開個uint的array再cast成int*的array?
作者: kdjf (我抓得到什麼呢?)   2015-06-02 22:40:00
會不會氣到腦充血這樣
作者: Feis (永遠睡不著 @@)   2015-06-02 22:41:00
你是不想有 address 還只是不想那麼多 cast ?
作者: kdjf (我抓得到什麼呢?)   2015-06-02 22:42:00
不想這麼多cast有辦法不要有address嗎?!
作者: Feis (永遠睡不著 @@)   2015-06-02 23:07:00
你心中沒有 address, address 就不在你心中 (阿門)
作者: anyoiuo   2015-06-03 16:07:00
Map+Macro如何? http://ideone.com/CYtEy3

Links booklink

Contact Us: admin [ a t ] ucptt.com