假设 A 是一个结构体,并且我有一个分配内存的函数
f(size_t s, void **x)
Run Code Online (Sandbox Code Playgroud)
我调用f分配内存如下。
struct A* p;
f(sizeof(struct A), (void**)&p);
Run Code Online (Sandbox Code Playgroud)
我想知道(void**)&p这里是否有一个明确定义的铸造。我知道在 C 中,将指针强制转换为明确定义的,void*反之亦然。不过,我不确定 的情况void**。我发现以下文档指出我们不应强制转换为具有更严格对齐要求的指针。是否void**有更严格或更宽松的对齐要求?