?
本文檔使用 PHP中文網(wǎng)手冊 發(fā)布
查詢操作數(shù)類型的對齊要求。
_Alignof(類型名稱) | (自C11以來) |
---|
該運算符通常通過alignof
標題中提供的方便宏來使用stdalign.h
。
返回由type-name命名的類型的對齊要求。如果type-name是數(shù)組類型,則結(jié)果是數(shù)組元素類型的對齊要求。類型名稱不能是函數(shù)類型或不完整類型。
結(jié)果是一個整數(shù)常量類型size_t
。
操作數(shù)不計算(因此操作數(shù)中使用的外部標識符不必定義)。
一些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;}) = 4
C11標準(ISO / IEC 9899:2011):
6.5.3.4 sizeof和_Alignof運算符(p:90-91)
max_align_t(C11) | 對齊要求與其他標量類型一樣大的類型(typedef) |
---|---|
_Alignas說明符 | 設置對象的對齊要求(自C11開始) |
| 用于alignof運算符的C ++文檔