这感觉像是一个愚蠢的问题,但我无法找到一个干净的解决方案,也无法在大量其他与指针相关的问题中找到类似的问题。
我有一些动态分配的未知类型的内存,并希望在开始时在其中存储一个指针。malloc 返回的动态内存应该适当对齐,因此我认为在写入分配块的开头时不必担心对齐问题。
这是我的代码,它可以工作,但我将指针表示为 64 位整数,并希望以更简洁/便携的方式进行:
void *my_area = malloc(512);
void *my_pointer = get_my_pointer();
((long long *) my_area)[0] = (long long) my_pointer;