LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: zywwzy

我今天为招聘新员工出的C语言考题

[复制链接]
发表于 2003-7-4 23:29:45 | 显示全部楼层
VC6里的int是4字节的,VC7我没用过,不知道是多大。
long int类型是标准里规定的,现在的编译器都有,标准还规定了int族类型的大小,
short int <= int <= long int
在tc或bc++3.1里short、int、long的大小分别是2、2、4
在vc、bcb、gcc里的大小是2、4、4
c语言的数据类型一般是和机器相关的,所以象tc这种16位机器下的编译器的int类型就是2个字节,而现在的i386体系的编译器一般都是32位(4字节)的int
8字节的数据在VC6里是int64,在gcc里是long long int
发表于 2003-7-5 00:03:57 | 显示全部楼层
是我把2,4,8弄混了。
把long int 和 long long int 也弄混了。

在VC里我试了一下,没有int64,也不能用 long long int
short int != int
short int 是2字节的
发表于 2003-7-5 00:07:39 | 显示全部楼层
char, short int,int,long int,long long int,void*
这些数据类型的长度都是平台相关的。

我觉得 short 应该是 short int 的简写。
发表于 2003-7-5 00:12:11 | 显示全部楼层
是与编译器相关。编译器喜欢怎样就怎样。
发表于 2003-7-5 01:06:13 | 显示全部楼层
另外,怎么说 VC 编译出来的 int 和 long 是8字节呢?至少我的 Visual C++ 6出来的是4字节长。
---不好意思,没有看到大家已经纠正了。

64bit平台上有可能 int 是 64 位,但是也不一定的,为了兼容考虑可能是32bit的。
发表于 2003-7-5 15:07:43 | 显示全部楼层
有long long吧VC中
我没试过

但这个好像是一个新类型添加了

自己定义一下
long long i;
发表于 2003-7-5 16:24:14 | 显示全部楼层
long long ni;


E:\Source\test\test.cpp(5) : error C2632: 'long' followed by 'long' is illegal
发表于 2003-7-5 18:45:39 | 显示全部楼层
VC中可以看看帮助,关于int64,我昨天试了一下,是__int64,前面有两个下划线(原来可能记成COM中的int64了)。
64位整数现在一般的编译器都有,要不然32位无符号整数最大就4G,现在随便一个硬盘都比这个大,没有64位整数连硬盘容量都没办法计算了。
发表于 2003-7-6 10:52:08 | 显示全部楼层
要是我要知道有__int64的话,我的ICM(acm 笔误)就不会这么惨了,55555555
发表于 2003-7-6 12:46:08 | 显示全部楼层
ICM是什么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表