Defined in header <stddef.h> | ||
typedef/*implementation-defined*/ max_align_t; | (since C11) | |
max_align_t is a type whose alignment requirement is at least as strict (as large) as that of every scalar type.
Contents |
Pointers returned by allocation functions such asmalloc are suitably aligned for any object, which means they are aligned at least as strictly asmax_align_t.
#include <inttypes.h>#include <stdalign.h>#include <stddef.h>#include <stdint.h>#include <stdio.h>#include <stdlib.h> int main(void){size_t a= alignof(max_align_t);printf("Alignment of max_align_t is %zu (%#zx)\n", a, a); void*p=malloc(123);printf("The address obtained from malloc(123) is %#"PRIxPTR"\n",(uintptr_t)p);free(p);}
Possible output:
Alignment of max_align_t is 16 (0x10)The address obtained from malloc(123) is 0x1fa67010
C++ documentation formax_align_t |