`
samuschen
  • 浏览: 403656 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

C语言中int 类型的字节长度

 
阅读更多

   int 这个数据类型比较特殊,具体分配的字节数与机器字长和编译器有关。如果要保证移植性,尽量用__int16 __int32 __int64 ,__int16、__int32,_int64 这些数据类型在所有平台下都分配相同的字节。所以在移植上不存在问题。


所谓的不可移植是指:在一个平台上编写的代码无法拿到另一个平台上运行时,不能达到期望的运行结果


例如:在32为平台上(所谓32位平台是指通用寄存器的 数据宽度是32)编写代码,int 类型分配4个字节,而在16位平台是则分配2个字节,那么在16位上编译出来的exe,其中是为int分配2字节,而在32位平台上运行时,会按照4个字 节来解析,显然会出错误的!!

而对于非int类型,目前为止,所有的类型分配的字节数都是兼容的,即不同平台对于同一个类型分配相同的字节数!!

建议:在代码中尽量避免使用int类型,根据不同的需要可以用short,long等代替。

下表是关于常见数据类型字节长度的总结

数据类型名称 字节数 别名 取值范围
 int * signed,signed int 操作系统 决定,即与操作系统的"字长"有关
 unsigned int * unsigned 由操作系统决定,即与操作系统的"字长"有关
__int8 1 char,signed char –128 ~ 127
__int16 2 short,short int,signed short int –32,768 ~ 32,767
__int32 4 signed,signed int –2,147,483,648 ~ 2,147,483,647
__int64 8 –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
bool 1 false 或 true
char 1 signed char –128 到 127
unsigned char 1 0 到 255
short 2 short int,signed short int –32,768 到 32,767
unsigned short 2 unsigned short int 0 到 65,535

分享到:
评论

相关推荐

    C语言常见类型占用字节数

    C语言是一种广泛使用的编程语言,它的基本数据类型及其在内存中占用的字节数是程序员必须掌握的基础知识。了解这些信息对于编写高效且可移植的代码至关重要,尤其是在处理不同的硬件架构和操作系统时。 首先,让...

    C语言中各种数据类型长度.pdf

    C语言中各种数据类型长度详解 C语言是一种静态类型语言,变量的数据类型在编译时确定,对于不同的数据类型,C语言规定了不同的长度和存储大小。了解C语言中的数据类型长度是非常重要的,因为它直接关系到程序的可...

    C语言中各个数据类型的长度

    以下是对C语言中各个数据类型的长度的详细说明: 1. **基本数据类型**: - **char**: 字符类型,通常占用1个字节(8位)。在ASCII编码中,它可以表示128个不同的字符,包括字母、数字和符号。 - **int**: 整型,...

    【转】C语言常见类型占用字节数

    long类型的长度至少等于int类型,但具体长度可以等于或大于int,32位系统下可能为4字节,64位系统下可能为8字节。 3. 浮点数类型:浮点数类型用于存储实数,包括小数部分。C语言中主要有float和double两种浮点类型...

    C语言基本数据类型的长度和取值范围

    长度指的是数据类型在计算机内存中占用的字节数。取值范围则是指特定数据类型可以表示的最小和最大值。下面,我们将逐一解析给定文件中提到的C语言基本数据类型: 1. **char / signed char** - 长度:1字节(8位)...

    C语言的数据类型与格式控制

    C语言中有多种基本类型,包括字节型(char)、整型(int)和浮点型(float/double)。这些基本类型可以使用符号属性(signed、unsigned)和长度属性(short、long)来说明变量的取值区间和精度。 1. 字节型(char)...

    任意字节数的运算 C语言程序设计

    C语言支持多种数据类型,如char、int、float、double等,它们各自占用不同的字节数。例如,char类型通常占用1字节,int类型可能占用2或4字节,取决于具体的编译器和平台。理解这些数据类型的字节数有助于我们有效地...

    C语言数据类型详解.doc

    C语言中的基本类型包括字节型(char)、整型(int)和浮点型(float/double)。每种基本类型都有其对应的符号属性和长度属性,用于说明变量的取值范围和精度。 符号属性 signed 和 unsigned 用于说明变量的符号位,...

    C语言中的字节对齐详解。

    结构体A中包含了4字节长度的int一个,1字节长度的char一个和2字节长度的short型数据一个,B也一样;按理说A,B大小应该都是7字节。之所以出现上面的结果是因为编译器要对数据成员在空间上进行对齐。 我们可以改变...

    CC++语言中判断数据类型长度符

    ### CC++语言中判断数据类型长度符 #### 一、概述 在C/C++语言中,`sizeof`是一个非常重要的关键字,它用于获取一个对象或类型所占用的内存空间大小。这一特性对于深入理解内存管理和数据类型至关重要。下面将详细...

    C语言数据类型的资料,帮助初学者掌握C语言中的数据类型

    ### C语言数据类型详解 #### 关键字与保留字 在C语言中,**关键字**或**保留字**指的是那些已经具有...以上就是关于C语言中数据类型的基础知识概述,通过理解和掌握这些概念,可以帮助初学者更好地学习和应用C语言。

    C语言结构体的字节对齐及指定对齐方式.docx

    在C语言中,结构体的字节对齐是非常重要的,它直接影响着程序的性能和可移植性。本文将详细介绍结构体的字节对齐、指定对齐方式和相关概念。 一、字节对齐的作用和原因 字节对齐是指在计算机内存中,结构体的成员...

    C语言字节对齐讲解及实例

    在C语言中,结构体(structure)是一种复合数据类型,允许开发者定义一个由不同类型元素组成的复杂数据集。在结构体内部,可以包含基本数据类型(int、long、float等)以及数组、结构体、联合等复合数据类型。这些...

    基本数据类型C语言.pdf

    在C语言中,整型数据可以根据长度分类,分为char、short int、int、long int和long long int。 - char:字符型,一般占1个字节,用于存储字符数据。 - short int:短整型,长度至少为16位。 - int:整型,长度至少...

    C语言数据类型.ppt

    C语言提供不同字节长度的整型,例如short、int和long,不同平台上的实际字节数可能有所不同。 - **实型(float)**:也称浮点型,用于存储带有小数部分的数值,如2.23、546.2487615247。C语言还提供了精度更高的...

    C语言 处理中文字符串 查找 统计长度 比较

    在C语言中,可以使用while循环来遍历字符串中的每一个字节,判断是否为UTF-8编码的第一个字节,如果是,则将长度加1。例如: ```c int get_chinese_length(char *str) { int length = 0; int i = 0; while (str[i...

    c语言各种类型数据介绍

    本文将详细介绍C语言中的五种基本数据类型:字符、整型、单精度实型、双精度实型和空类型,并探讨它们的特点、长度以及范围。 #### 字符类型(char) 字符类型在C语言中是最基础的数据类型之一,通常占用一个字节...

    C语言中的灵魂—指针

    这段代码中,`ptr`的类型为`int *`,它指向的类型为`int`。`ptr++`实际上将`ptr`的值增加了`sizeof(int)`,即4字节。因此,`ptr`现在指向数组`a`中的下一个`int`类型的内存位置。 通过上述内容的学习,我们可以看到...

Global site tag (gtag.js) - Google Analytics