©
                    本文档使用
                    php中文网手册 发布
                
查询操作数类型的对齐要求。
| _Alignof(类型名称) | (自C11以来) | 
|---|
该运算符通常通过alignof标题中提供的方便宏来使用stdalign.h。
返回由type-name命名的类型的对齐要求。如果type-name是数组类型,则结果是数组元素类型的对齐要求。类型名称不能是函数类型或不完整类型。
结果是一个整数常量类型size_t。
操作数不计算(因此操作数中使用的外部标识符不必定义)。
一些C编译器允许使用与表达式的对齐作为非标准扩展。
_Alignof.
#include <stdio.h>#include <stddef.h>#include <stdalign.h>
 int main(void){    printf("Alignment of char = %zu\n", alignof(char));    printf("Alignment of max_align_t = %zu\n", alignof(max_align_t));    printf("alignof(float[10]) = %zu\n", alignof(float[10]));    printf("alignof(struct{char c; int n;}) = %zu\n",            alignof(struct {char c; int n;}));    }可能的输出:
Alignment of char = 1Alignment of max_align_t = 16alignof(float[10]) = 4alignof(struct{char c; int n;}) = 4C11标准(ISO / IEC 9899:2011):
6.5.3.4 sizeof和_Alignof运算符(p:90-91)
| max_align_t(C11) | 对齐要求与其他标量类型一样大的类型(typedef) | 
|---|---|
| _Alignas说明符 | 设置对象的对齐要求(自C11开始) | 
| 用于alignof运算符的C ++文档