?
Dokumen ini menggunakan Manual laman web PHP Cina Lepaskan
查詢操作數(shù)類型的對(duì)齊要求。
_Alignof(類型名稱) | (自C11以來(lái)) |
---|
該運(yùn)算符通常通過(guò)alignof
標(biāo)題中提供的方便宏來(lái)使用stdalign.h
。
返回由type-name命名的類型的對(duì)齊要求。如果type-name是數(shù)組類型,則結(jié)果是數(shù)組元素類型的對(duì)齊要求。類型名稱不能是函數(shù)類型或不完整類型。
結(jié)果是一個(gè)整數(shù)常量類型size_t
。
操作數(shù)不計(jì)算(因此操作數(shù)中使用的外部標(biāo)識(shí)符不必定義)。
一些C編譯器允許使用與表達(dá)式的對(duì)齊作為非標(biāo)準(zhǔn)擴(kuò)展。
_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標(biāo)準(zhǔn)(ISO / IEC 9899:2011):
6.5.3.4 sizeof和_Alignof運(yùn)算符(p:90-91)
max_align_t(C11) | 對(duì)齊要求與其他標(biāo)量類型一樣大的類型(typedef) |
---|---|
_Alignas說(shuō)明符 | 設(shè)置對(duì)象的對(duì)齊要求(自C11開(kāi)始) |
| 用于alignof運(yùn)算符的C ++文檔