這感覺像一個愚蠢的問題,但我只是不能找出一個乾淨的解決方案,並找不到類似的問題在大量的其他指針相關的問題。存儲指針地址在malloced內存
我有一些動態分配未知類型的內存,並希望在開始時在其中存儲指針。由malloc返回的動態內存應該適當對齊,所以當寫入分配塊的開始時,我不認爲我必須擔心對齊。
這是我的代碼,它的工作原理,但我代表指針作爲64位整數,並希望做一個更清潔/可移植的方式:
void *my_area = malloc(512);
void *my_pointer = get_my_pointer();
((long long *) my_area)[0] = (long long) my_pointer;
或者您也可以使用'uintptr_t'。 – 2012-11-07 17:20:45