C语言在32位和64位机器下数字数据类型的字节数取决于编译器和平台, 主要由编译器决定。

            C语言中数字数据类型的字节数  


  C声明        32位机器      64位机器

  char          1          1

  short int         2          2

  int             4          4 //整型在32位和64位下都是4个字节      

  long int          4          8

  long long int        8          8

  char *          4          8  //32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器

  float          4          4

  double         8          8

   

  按照C语言中的标准, 数据类型的字节数是这样的。 但是C语言与平台(操作系统)和编译器是密不可分的, 主要还是由编译器决定, 有32位编译器和64位编译器。

  离开了具体的平台和编译器讨论C语言,就只能讨论到书本中介绍的那种程度。

  具体情形可以自己运行编译器用sizeof()测试一下。

原文地址:https://www.cnblogs.com/KarryWang/p/3375976.html