int类型究竟占几个字节

     

    最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C Programming language这本书,里面有一句话是这样的:Each compiler is free to choose appropriate sizes for its own hardware, subject only to the restriction that shorts and ints are at least 16bits, longs are at least 32bits, and short is no longer than int, which is no longer than long.意思大致是编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节(例如,GCC)。下面列举在GCC编译器下32位机器和64位机器各个类型变量所占字节数:

     C类型            32               64
    char             1                1
    short int             2                2
    int             4                4
    long int             4                8
    long long int             8                8
    char*             4                8
    float             4                4
    double             8                8

        需要说明一下的是指针类型存储的是所指向变量的地址,所以32位机器只需要32bit,而64位机器需要64bit

以上文章来自:http://charlesxie.blog.51cto.com/2236179/939680由于写的太好了,所就直接摘了下来!


补充总结:

经过询问,网上查找以及测试,发现 数据类型占内存的位数实际上与操作系统的位数和编译器(不同编译器支持的位数可能有所不同)都有关,具体某种数据类型占字节数得编译器根据操作系统位数两者之间进行协调好后分配内存大小。具体在使用的时候如想知道具体占内存的位数通过sizeof(int)可以得到准确的答案。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python fieldnames_csvreader.fieldnames在python中未被识别为csv reader对象的属性

我试图使用CSV模块在Python中提取CSV文件的标题.CSV文件非常扁平,看起来像:This, That, The Other1, 2, 3我正在做以下事情:>读入CSV文件并制作阅读器对象>将读者的迭代器推到下一行,强制它至少访问第一行一次(来自csv模块文档:“如果在…

Spring Insight – Web应用程序分析

您是否正在使用Spring Framework编写Web应用程序? 您是否曾经想过引擎盖下发生了什么? 为什么您的应用程序响应如此缓慢? 在您仍然等待应用程序响应的同时,为什么窗外的蜗牛如此之快地消失在远处? 您应该:)&#xff0c…

创建动态链接库时设置导出函数的方法

有两种方法1.使用模块定义文件, 2.在要导出的函数前加上 __declspec(dllexport) 我们用VS2008新建个DLL工程,工程名为“TestDLL” 把默认的源文件后缀 .CPP改为.C(C文件) int _stdcall MyFunction(int iVariant){return 0; } 1. 使用传统的模…

javascript的浏览器Bom详解,window、location、history对象

BOM(BrowserObjectModel)也叫浏览器对象模型,描述与浏览器进行交互的方法和接口。BOM由多个对象组成, 其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。 JavaScript由三部分组成:ECMAScript,BOM&…

python右斜杠_Python中的左斜杠、右斜杠(正斜杠和反斜杠)

首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows(一)目录中的斜杠们python读文件需要输入的目录参…

重用生成的JAXB类

在本文中,我将演示如何利用– XJC扩展来重用以前从XML模式生成的类。 当其他XML架构导入XML架构并且您不想每次都生成相同的类时,这很有用。 导入的架构(Product.xsd) 以下XML模式代表有关产品的基本信息。 产品是此示例域中的常…

MySQL的Master/Slave群集安装和配置

本文介绍MySQL的Master/Slave群集安装和配置,版本号安装最新的稳定版GA 5.6.19。 为了支持有限HA。我们用Master/Slave读写简单孤立的集群。有限HA这是当Master不可用,数据不会丢失。但在Master写的,必须手工处理故障。假设要支持更高的可用性…

动态申请二维数组

以下是动态申请a[m][n]的源代码 代码一&#xff1a; /* 编译器&#xff1a;DEV C */ #include<stdio.h> #include<stdlib.h> int main() {int **a;int i,j,m,n;scanf("%d%d",&m,&n); a (int **)malloc(sizeof(int *)*m);for (i0;i<m; i){a[i…

判断线段和直线相交 POJ 3304

1 // 判断线段和直线相交 POJ 33042 // 思路&#xff1a;3 // 如果存在一条直线和所有线段相交&#xff0c;那么平移该直线一定可以经过线段上任意两个点&#xff0c;并且和所有线段相交。4 5 #include <cstdio>6 #include <cstring>7 #include <iostream>8 …

JavaOne正在重建动力

在JavaOne上度过了一个非常忙碌的一周&#xff0c;今年的活动有很多让人喜欢的地方。 有很多惊喜的公告&#xff0c;很多很好的内容/会议&#xff0c;并且在场地和组织上都有很多改进。 对于一直耐心等待我发表我所有演讲的人们&#xff0c;我为您的延迟表示歉意……给4个演讲一…

tensorflow http调用_《TensorFlow 内核剖析》笔记——系统架构

3 系统架构系统整体组成&#xff1a;Tensorflow的系统结构以C API为界&#xff0c;将整个系统分为前端和后端两个子系统&#xff1a;前端构造计算图后端执行计算图&#xff0c;可再细分为&#xff1a;运行时&#xff1a;提供本地模式和分布式模式计算层&#xff1a;由kernal函数…

SGU 187.Twist and whirl - want to cheat( splay )

维护一个支持翻转次数M的长度N的序列..最后输出序列.1<N<130000, 1<M<2000splay裸题...-------------------------------------------------------------#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int ma…

练习一万小时成天才

随着畅销书《异类》的流行&#xff0c;“练习一万小时成天才”这个口号现在是尽人皆知。也许仍然有不少人相信那些不世出的天才必有天生的神秘能力&#xff0c;但科学家通过大量的调查研究已经达成共识&#xff0c;那就是所有顶级高手都是练出来的。不但如此&#xff0c;最近几…

(转)数据流图

转自:http://jingyan.baidu.com/article/4f34706eefdb04e387b56deb.html 数据流图4种图元 数据流图的实例 转载于:https://www.cnblogs.com/wrencai/p/5852389.html

从CLI监视OpenJDK

目前&#xff0c;我大部分时间在Java虚拟机 &#xff08;JVM&#xff09;内或周围进行大量工作&#xff0c;大部分时间是在Linux上。 当事情变得不对劲并且我试图确定原因时&#xff0c;我接触了Java性能分析工具。 这些工具有两种形式&#xff0c;一种是精美的GUI&#xff08;…

python数据库优化_python | Mysql性能优化一

对mysql优化是一个综合性的技术&#xff0c;主要包括表的设计合理化(符合3NF)添加适当索引(index) [四种: 普通索引、主键索引、唯一索引unique、全文索引]分表技术(水平分割、垂直分割)读写[写: update/delete/add]分离存储过程 [模块化编程&#xff0c;可以提高速度]对mysql配…

MySQL中文乱码问题

项目中用到MySQL数据库时中文出现乱码问题&#xff08;中文字符都变成了&#xff1f;&#xff09;解决&#xff1a; 1、统一项目与数据库的编码&#xff0c;项目中用的是UTF-8因此我的把数据库的编码统一成UTF-8 修改方式&#xff1a;修改 MySQL根目录中的 my.ini 文件替换d…

json与字符串互转

1 字符串转JSON var objeval((str"))var objJSON.parse(str)var objstr.parseJSON()2 JSON转字符串 var strobj.toJSONString()var strJSON.stringify(obj)转载于:https://www.cnblogs.com/liu-xia/p/5050878.html

使用RequestFactory API进行Spring GWT集成

从GWT 2.4开始&#xff0c;将RequestFactory API与后端的Spring服务集成很容易&#xff0c;您需要做的就是在服务器上创建一个自定义ServiceLocator&#xff0c;GWT将使用它来正确定位被调用的服务&#xff1a; public class SpringServiceLocator implements ServiceLocator {…

C++实例讲解Binder通信

binder是android里面的通信机制&#xff0c;这就不说它如何如何好了&#xff0c;Goog已经说过了&#xff0c;这里不多说。binder是一个面向对象的编程方法&#xff0c;大量使用虚函数类。最近研究binder看到一网友写的&#xff0c;就借鉴一下。这个例子很好的解释里binder通信关…