由C11 aligned_alloc分配的内存重新分配是否保持对齐?

请考虑以下(C11)代码:

void *ptr = aligned_alloc(4096, 4096); ... // do something with 'ptr' ptr = realloc(ptr, 6000); 

由于ptr指向的内存与aligned_alloc有一个4096字节的对齐,它(读取:是否保证)在(成功)调用realloc之后保持该对齐? 或者内存可以恢复为默认对齐方式?

对齐不与指针保持一致。 当您调用realloc时,您只能依赖realloc保证的对齐方式。 您需要使用aligned_alloc来执行任何重新分配。