非常教程

C参考手册

种类支持 | Type support

max_align_t

在头文件<stddef.h>中定义

typedef / *实现定义* / max_align_t;

(自C11以来)

max_align_t 是一种对齐要求至少与每个标量类型一样严格(大)的类型。

注意

由malloc等分配函数返回的指针适合任何对象对齐,这意味着它们的对齐方式至少与max_align_t一样严格。

max_align_t通常是最大标量类型的同义词,在大多数平台上它是长双倍的,并且其对齐要求为8或16。

#include <stdio.h>
#include <stddef.h>
#include <stdalign.h>
#include <stdlib.h>
#include <stdint.h>
#include <inttypes.h>
 
int main(void)
{
    size_t a = alignof(max_align_t);
    printf("Alignment of max_align_t is %zu (%#zx)\n", a, a);
 
    int *p = malloc(123);
    printf("The address obtained from malloc(123) is %#" PRIxPTR"\n",
            (uintptr_t)p);
    free(p);
}

可能的输出:

Alignment of max_align_t is 16 (0x10)
The address obtained from malloc(123) is 0x1fa67010

扩展内容

| 用于max_align_t的C ++文档|

|:----|

C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。