数据类型对应字节数(32位,64位 int 占字节数)

一、程序运行平台 
      不同的平台上对不同数据类型分配的字节数是不同的。 
      个人对平台的理解是CPU+OS+Compiler,是因为: 
      1、64位机器也可以装32位系统(x64装XP); 
      2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的); 
      3、即使是32位的编译器也可以弄出64位的integer来(int64)。 
      以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。 
      虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发挥的能量最大。 
      理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算)。

二、常用数据类型对应字节数 
      可用如sizeof(char),sizeof(char*)等得出

32位编译器:

char :1个字节 
      char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器) 
      short int : 2个字节 
      int:  4个字节 
      unsigned int : 4个字节 
      float:  4个字节 
      double:   8个字节 
      long:   4个字节 
      long long:  8个字节 
      unsigned long:  4个字节

64位编译器:

char :1个字节 
      char*(即指针变量): 8个字节 
      short int : 2个字节 
      int:  4个字节 
      unsigned int : 4个字节 
      float:  4个字节 
      double:   8个字节 
      long:   8个字节 
      long long:  8个字节 
      unsigned long:  8个字节

转载于:https://www.cnblogs.com/pengfeiliu/p/3989244.html

操作系统中的内存分配相关推荐

  1. C语言中动态内存分配的本质是什么?

    摘要:C语言中比较重要的就是指针,它可以用来链表操作,谈到链表,很多时候为此分配内存采用动态分配而不是静态分配. 本文分享自华为云社区<[云驻共创]C语言中动态内存分配的本质>,作者: G ...

  2. 4 OC 中的内存分配以及内存对齐

    目录 一  OC  中的内存分配 一  OC  中的内存分配 student 结构体明明是20?为什么是24个字节,因为结构体会按照本身成员变量最大的内存进行对齐,最大成员变量是8个字节,因此就是8的 ...

  3. 替换libc中的内存分配函数

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 本文介绍如何替换glibc中的内存分配函数为自定义的内存分配函数的方法,可以方便调试内存分配,和查找内存管理错误而产生 ...

  4. Java基础-Java中的内存分配与回收机制

    Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二. 转载于:https://www.cnblogs.com/yinzhengji ...

  5. java中子类实例化过程中的内存分配

    知识点: 子类继承父类之后,实例化子类时,内存中子类是如何分配内存的呢? 下面,自己会结合一个例子,解释一下,一个子类实例化过程中,内存是如何分配的 参考博客:http://www.cnblogs.c ...

  6. c语言malloc引用类型作参数,c语言中动态内存分配malloc只在堆中分配一片内存.doc...

    c语言中动态内存分配malloc只在堆中分配一片内存 .C语言中动态内存分配(malloc)只在堆中分配一片内存,返回一个void指针(分配失败则返回0),并没有创建一个对象.使用时需要强制转换成恰当 ...

  7. java中堆栈内存_Java堆空间与堆栈– Java中的内存分配

    java中堆栈内存 Sometime back I wrote a couple of posts about Java Garbage Collection and Java is Pass by ...

  8. 【操作系统】连续内存分配策略

    最为简单的内存分配方法之一就是将内存分为多个固定大小的分区.每个分区只能容纳一个进程. 为此,操作系统有一个表用于记录哪些内存可用和哪些内存已用. 一开始,所有内存都可用于用户进程,因此能够作为一个大 ...

  9. oracle中pga指什么,oracle中pga内存分配原则

    pga_aggregate_target 通常缩写为P_A_T,该参数同时限制全局pga分配和私有工作区内存分配 在oracle9i以及10gr1中,单个sql操作内存使用存在如下限制: 对于串行操作 ...

最新文章

  1. Hadoop集群的基本操作(一:HDFS操作及MapReduce程序练习)
  2. Windows xp 无人值守远程安装部署
  3. 打破重重阻碍,Flutter 和 Web 生态如何对接?
  4. ARM7寄存器分布图
  5. python计算机中丢失api-ms-win-crt-runtime-l_api-ms-win-crt-runtime-l1-1-0.dll
  6. Matplotlib——基本用法
  7. Stanford Parser demo错误:Unsupported major.minor version 52.0 error
  8. POI--各种样式的XSSFCellStyle的生成
  9. 云服务器安全使用原则
  10. matlab text函数
  11. win10安装系统教程
  12. IFM分量包络解调分析MATLAB,[原创]数据包络分析(DEA)简介
  13. 脉动计算机没有指令计数器,脉冲计数器电路图设计(三) - 脉冲计数器电路图大全(六款脉冲计数器电路设计原理图详解)...
  14. 分享一个简单好看的科技公司官网模板-纯HTML+CSS
  15. 饿了么:业务井喷时,订单系统架构这样演进
  16. 【春招实习秋招】前端学习の优质资料整理心路历程(已上岸)
  17. [openEuler 21.9] 安装中文输入法、以及字体变成繁体切换
  18. 着千奇百怪地求爱方式
  19. MagicLicense破解记录
  20. 天猫精灵携新品向500万家庭致敬,未来客厅更进一步

热门文章

  1. Redis分布式锁加时效和不加时效两种方案的最全代码实现
  2. SQL 语句之insert语句插入数据:若表中有重复的主键或数据继续插入解决方案
  3. Java泛型失效的两种情况
  4. centos6 lnmp安装mysql_centos6.5安装lnmp环境
  5. TabLayout+ViewPager实现选项卡动态滑动效果
  6. matlab oqpsk,如何用MATLab画OQPSK星座?
  7. 机械硬盘低级格式化软件_低级比高级安全?磁盘格式化要保护秘密
  8. 2.4操作系统之死锁详解(预防、避免、检测、解除)+思维导图
  9. Linux大作业任务书,《Linux系统管理》期末大作业任务书(计网14级).doc
  10. 云丁密码锁使用说明书_郑州智能密码锁多少钱,放心省心