3.1 不可分 C 型のサイズと整列
           次の表は、不可分データ型とそれらがどのように表されるかを示しています。整列 (align 列) はバイト単位です。
        
            表 7  不可分 C 型のサイズと整列
            
            | 
                
                
                
                
                
                
                
                
                
                
                    
                        |  |  |  |  |  |  |  |  |  |  
                        | 整数 |  |  |  |  |  |  |  |  |  
                        | _Atomic _Bool | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |  
                        | _Atomic char _Atomic signed char | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |  
                        | _Atomic unsigned char | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |  
                        | _Atomic short _Atomic signed short | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |  
                        | _Atomic unsigned short | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |  
                        | _Atomic int _Atomic signed int _Atomic enum | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |  
                        | _Atomic unsigned int | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |  
                        | _Atomic long _Atomic signed long _Atomic unsigned long | 8 | 8 | 4 | 4 | 8 | 8 | 4 | 4 |  
                        | _Atomic long long _Atomic signed long long _Atomic unsigned long long | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |  
                        | ポインタ |  |  |  |  |  |  |  |  |  
                        | any-type _Atomic * _Atomic( any-type (*) () ) | 8 | 8 | 4 | 4 | 8 | 8 | 4 | 4 |  
                        | 浮動小数点 |  |  |  |  |  |  |  |  |  
                        | _Atomic float | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |  
                        | _Atomic double | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |  
                        | _Atomic long double | 16 | 16 | 12 | 4 | 16 | 16 | 16 | 8 |  
                        | 複素数 |  |  |  |  |  |  |  |  |  
                        | _Atomic float _Complex | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |  
                        | _Atomic double _Complex | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 8 |  
                        | _Atomic long double _Complex | 32 | 16 | 24 | 4 | 32 | 16 | 32 | 8 |  
                        | 虚数 |  |  |  |  |  |  |  |  |  
                        | _Atomic float _Imaginary | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |  
                        | _Atomic double _Imaginary | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |  
                        | _Atomic long double _Imaginary | 16 | 16 | 12 | 4 | 16 | 16 | 16 | 8 |  
                        | 構造体 (選択的な例) |  |  |  |  |  |  |  |  |  
                        | _Atomic struct {char a[2];} | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |  
                        | _Atomic struct {short a[2];} | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |  
                        | _Atomic struct {int a[2];} | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |  
                        | _Atomic struct {char a[16];} | 16 | 16 | 16 | 16 | 16 | 16 | 16 | 8 |  | 
        
        不可分 struct 型の一般的な整列規則では、struct 型のサイズが 2、4、8、16 のいずれかであり、かつ対応する非不可分型の整列がこのサイズより小さい場合は、このサイズに一致するように不可分 struct 型の整列が増やされます。
        不可分型は、ビットフィールドでは許可されません。