基本数据类型的存储字节数

时间:2022-12-16 22:43:40

C标准之关于数据类型的字节数

  • C标准中并没有具体给出规定那个基本类型应该是多少字节数

  • 字节数与机器、OS、编译器有关

  • 但规定了以下原则

    1. sizeof(short int) < sizeof(int)
    2. sizeof(int) < sizeof(long int)
    3. short int至少应为16位(2字节)
    4. long int至少应为32位(4字节)
编译器位数 数据类型 16位编译器 32位 64位
char 1个字节 1个字节 1个字节
char* /int * /long *(等所有指针变量) 2个字节 4个字节 8个字节
short int 2个字节 2个字节 2个字节
int 2个字节 4个字节 4个字节
unsigned int 2个字节 4个字节 4个字节
float 4个字节 4个字节 4个字节
double 8个字节 8个字节 8个字节
long 4个字节 4个字节 8个字节
long long 8个字节 8个字节 8个字节
unsigned long 4个字节 4个字节 8个字节
32位的寻址空间是2^32,即32个bit,也就是4个字节。同理64位编译器。指针即地址,所以指针所占字节与系统位数除以8。