Oracle Solaris Studio 12.2:C 用户指南

F.1 存储分配

下表显示了数据类型及其表示方法。


注 –

栈中分配的存储空间(带有内部、自动或链接的标识符)应限于 2G 字节或更少。


表 F–1 数据类型的存储分配(大小以字节为单位

C 类型 

LP64 (-m64) 大小

LP64 对齐

ILP32 (-m32) 大小

ILP 32 对齐

整数

_Bool 

char 

signed char 

unsigned char 

short 

signed short 

unsigned short 

int 

signed int 

unsigned int 

enum 

long 

signed long 

unsigned long 

long long  

signed long long 

unsigned long long 

4 (x86) / 8 (SPARC) 

指针

any-type * 

any-type (*) () 

浮点

float 

double 

long double 

16 

16 

12 (x86) / 16 (SPARC) 

4 (x86) / 8 (SPARC) 

4 (x86) / 8 (SPARC) 

复合

float _Complex 

double _Complex 

long double _Complex 

16 

32 

16 

16 

24 (x86) / 32 (SPARC) 

4 (x86) / 8 (SPARC) 

4 (x86) / 16 (SPARC) 

虚数

float _Imaginary 

double _Imaginary 

long double _Imaginary 

16 

16 

12 (x86) / 16 (SPARC) 

4 (x86) / 8 (SPARC) 

4 (x86) / 16 (SPARC)