www.qpwy.net > C语言中,long 和long int的区别

C语言中,long 和long int的区别

long是4字节,int是2字节或4字节,现在一般的int都是4字节,除非一些比较老的编译器中才是2字节

使用中是没有区别的 不过有的编译器不支持long 只支持long int的写法.

一个是两个单词,一个是三个单词 别笑,这在预处理阶段的确是一个区别#define PROCESS(a) t##a )#define PROCESS_2(a) t2##a )#define PROCESS_3(a) t3##a#define tlong "hel" PROCESS_2(#define t2long "lo" PROCESS_3(#define t3 "!"#define t3int " world!"printf("%s",PROCESS(long long)); // 输出 hello!printf("%s",PROCESS(long long int)); // 输出 hello world!

long 是C语言的一个关键字,代表一种数据类型,中文为长整型.long是long int的简写,也就是说,在C语言中long int类型和long类型是相同

在32位机器上,二者相同.在16位的平台上:int是2字节,long是四字节.

long, 顾名思义就是比int要长.int一般来说占4字节. long一般是8字节. 不过在VC++6.0里, long 和int的长度一样.在ANSIC中定义的long的长度要大于等于int.

标准中规定int型必需16位或更高,long型必需32位,在以前16位机时这两种数据就是一个16bit一个32bit,但进入x86时代后实际上两者都是32位的,int型一般和处理器位数一致,代表都内存的寻址空间.整型变量有三种int,long int,short int,int是用两个字节储存整型数字,short int一个字节,long int是四个字节……

int 是整型,long是长整形.long的取值范围比int的取值范围广

都是整数,int 的范围是 -32768 -- 32767 ,long 的表示范围要大一点,够用的话,最好用 int ,以少占内存.

long long在win32中是确实存在,长度为8个字节;定义为LONG64.为什么会出现long int呢,在win32现在系统中,长度为4;在历史上,或者其他某些系统中,int长度为2,是short int.即便是long long,在TI的有款平台中,长度为5.也就是说,每种类型长度,需要sizeof才知道,如果可能,最好用union看看里面的数据,可以消除一些类型的假象长度.

网站地图

All rights reserved Powered by www.qpwy.net

copyright ©right 2010-2021。
www.qpwy.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com