我建议只使用包含指针和枚举的结构.但是如果由于某些原因不方便,只需分配一些小结构并使用它们的地址来表示魔术指针值.(当然,永远不要释放它们.)
您还可以使用静态对象的地址.像这样:
static int chunk_not_loaded_i, chunk_empty_i, chunk_full_i;
void *chunk_not_loaded = &chunk_not_loaded_i;
void *chunk_full = &chunk_full_i;
if (some_chunk == chunk_not_loaded)
...
Run Code Online (Sandbox Code Playgroud)