[问题] 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