`
zjjzmw1
  • 浏览: 1366555 次
  • 性别: Icon_minigender_1
  • 来自: 开封
社区版块
存档分类
最新评论

32位/64位机上常用数据类型字节数(C语言)(转的)

c 
阅读更多

可用如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个字节

 

 

#import <Foundation/Foundation.h>

struct {

    short a1;

    short a2;

    short a3;

}A;

struct {

   long long a1;

    short a2;

}B;

 

int main (int argc, const char * argv[])

{

 

    @autoreleasepool {

 

        char *ss1="0123456789";

        char ss2[]="0123456789";

        char ss3[100]="0123456789";

        int ss4[100];

        char q1[]="abc";

        char q2="a\n";

        char *q3="a\n";

        char *str1=(char *)malloc(100);

        void *str2=(void *)malloc(100);

        NSLog(@"%lu",sizeof(ss1));//8

        NSLog(@"%lu",sizeof(ss2));//11

        NSLog(@"%lu",sizeof(ss3));//100

        NSLog(@"%lu",sizeof(ss4));//400

        NSLog(@"%lu",sizeof(q1));//4

        NSLog(@"%lu",sizeof(q2));//1

        NSLog(@"%lu",sizeof(q3));//8

        NSLog(@"%lu",sizeof(str1));//8

        NSLog(@"%lu",sizeof(str2));//8

        NSLog(@"%lu",sizeof(A));//6

        NSLog(@"%lu",sizeof(B));//16

 

 

 

 

 

    }

    return 0;

}


 

 

 

 

 

 

 

分享到:
评论

相关推荐

    C语言 32位机与64位机的字长.rar

    - `long`和`long long`在32位机上可能分别是32位和64位,而在64位机上可能是64位。 - 这意味着,如果你的程序需要跨平台运行,需要特别注意这些差异,以免在不同平台上出现不一致的行为。 3. **指针大小**: - ...

    C语言数据类型PPT课件.pptx

    整型变量占用的字节数根据机器硬件不同而不同,例如在IBM PC机上,signed int占4个字节,unsigned int占4个字节,short占2个字节,unsigned short占2个字节,long占4个字节,unsigned long占4个字节。 2. 实型...

    stm32f103的4字节转float和float转4字节代码

    以上就是关于STM32F103上4字节转float和float转4字节的基本实现。在实际应用中,确保正确处理字节序和数据类型转换是至关重要的,以避免出现不期望的结果。在开发过程中,可以利用提供的代码作为基础,并根据具体...

    pic18 双字节除法 C语言汇编混合编程

    通过理解以上知识点,开发者可以在PIC18单片机上有效地利用C语言和汇编语言的优势,实现高效且精确的双字节除法运算。在实际项目中,这种混合编程技术可以显著提升代码性能,同时保持了程序的可读性和维护性。

    C语言课件第三章数据类型

    数据类型是C语言中的一种关键概念,它决定了变量在内存中占用的字节数、可能的取值范围以及可以执行的操作。C语言的基本数据类型包括字符型(char)、整型(int, short, long)、实型(float, double)以及空类型(void)。...

    C语言—— 数据类型运算符与表达式PPT学习教案.pptx

    每种数据类型的大小和取值范围因硬件平台而异,但在IBM PC机上,例如,int通常占16位,取值范围是-32768到32767;char占8位,取值范围是-128到127;float占32位,大约能表示3.4e-38到3.4e38之间的数;double占64位,...

    C语言数据类型PPT学习教案.pptx

    在IBM PC机上,`int`通常为16位(2字节),`short`也为16位,`long`为32位(4字节),`long long`则为64位(8字节)。`signed`表示有符号整数,`unsigned`表示无符号整数。 - **浮点型**:`float`表示单精度浮点数...

    浅学字节序——字节序大小端,主机字节序,网络字节序的理解

    例如,一个32位的数据0x12345678,在大端字节序中将被存储为:内存地址0x0000处存储0x12,内存地址0x0001处存储0x34,内存地址0x0002处存储0x56,内存地址0x0003处存储0x78。 #### 小端字节序(Little-Endian) 与...

    C语言面试题(总计9907字)-面试近10家公司所总结的题库-干货版

    - 在不同位宽的机器上,数据类型的字节数会有所不同,例如16位机、32位机和64位机。 - 一般情况下,char 占1字节,short 2字节,int 和 unsigned int 在16位机上也是2字节,long在16位机上是4字节,float 4字节,...

    单片机C语言关键语句

    这意味着如果尝试将一个较大的数赋值给较小的数据类型时,需要注意可能发生的高位丢失问题。 #### 三、自增/自减运算符 自增(`++`)和自减(`--`)运算符可以方便地修改变量值。 - `++var` 表示先增加变量 `var`...

    哈尔滨工业大学C语言题库

    例如,在16位PC机上,`char`类型的数据占用1字节,而`int`、`long int`、`float`和`double`等类型的数据占用的空间长度依次递增。 ### 5. 运算符与表达式 C语言支持丰富的运算符,包括算术运算符、关系运算符、...

    c语言选择判断题

    22. **数据类型存储空间**:在16位PC机上,基本数据类型的存储空间长度顺序通常是:`char` 。 23. **复合表达式的计算**:表达式 `(a=2, b=5, b++, a+b)` 的值为7,这里使用了逗号运算符,它将多个表达式连接在一起...

    2023-03-31 项目笔记-第一阶段-1.什么是C语言 2.第一个C语言程序 3.数据类型 4.变量、常量

    例如,int在某些系统上可能是32位(4字节),在其他系统上可能是16位(2字节)。 - **类型的使用**:选择正确的数据类型很重要,因为它决定了变量能存储的数据范围以及存储这些数据所需的内存。 **变量与常量** - ...

    c语言开发的mid文件读取系统

    例如,我们可以使用`ntohl`(网络字节序到主机字节序)函数来转换32位整数的字节序,确保在不同字节序的平台上都能正确解读。 然后,我们需要遍历每个音轨块,解析MIDI事件。每个音轨由一个Track Header开始,接着...

    单片机基于C语言编程的基础PPT课件.pptx

    每个数据类型的长度、字节数和值域都有所不同,例如: - 位型(bit):占1位,用于位寻址空间,与MCS-51硬件特性相关。 - 字符型(char):占1字节,适合MCS-51的8位处理能力,无符号字符范围是0到255,有符号字符...

    C语言实现网络校验和

    这里使用`ntohs()`函数将字节序转换为主机字节序,因为网络上的数据通常以大端字节序传输,而大多数现代计算机使用小端字节序。 4. 携带进位:由于我们每次只异或两个字节,可能会有未处理的进位。因此,我们需要...

    PS/2接口C语言通信函数库设计.rar_C语言通信函数_keyboard_ps/2_函数库

    每个数据包包含8位,其中最高位(第7位)用作数据或命令标志,第1位是帧起始位,第8位是帧停止位。通信过程通常是半双工的,一次只能有一个方向的数据传输。 3. C语言通信函数设计: 设计C语言函数库时,我们需要...

    c语言总复习题,让你的学习更快

    4. **数据类型大小**:在PC机上,通常`int`类型占据2个字节,`char`类型占据1个字节,`double`类型占据8个字节,`unsigned long`类型同样占据4个字节。对于错误的基本数据类型,`unsigned float`和`unsigned long`是...

Global site tag (gtag.js) - Google Analytics