| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 604 人关注过本帖
标题:类型变量字节数与书上有出入
只看楼主 加入收藏
pokerLee
Rank: 2
等 级:论坛游民
帖 子:41
专家分:29
注 册:2012-11-4
结帖率:93.33%
收藏
已结贴  问题点数:20 回复次数:5 
类型变量字节数与书上有出入
书上显示int类型的变量pnum的字节数是2个~~但是运行起来显示是四个~~如下图~~
图片附件: 游客没有浏览图片的权限,请 登录注册

求指点~~
2013-11-26 21:59
ljx小子
Rank: 8Rank: 8
来 自:星星
等 级:蝙蝠侠
威 望:2
帖 子:222
专家分:916
注 册:2013-10-7
收藏
得分:4 
这个好像跟机器的CPU和编译器有关,看一下有关的书籍的介绍

。。。。。。。。。。。
2013-11-26 22:19
xixiqiqi
Rank: 2
等 级:论坛游民
帖 子:22
专家分:71
注 册:2013-10-10
收藏
得分:4 
这是和编译器有关的,比如Turbo C 2.0自带的编译器会给int分配2个byte,Visual C++ 6.0自带的编译器给int分配4个byte。
2013-11-26 23:02
thb
Rank: 2
等 级:论坛游民
帖 子:26
专家分:31
注 册:2013-11-21
收藏
得分:4 
书上都是几十年前的,
2013-11-26 23:17
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
收藏
得分:4 
一般情况下,主要是由操作系统决定,比如,你在64位AMD的机器上安装的是32位操作系统,那么,int默认是32位的;如果是64位操作系统,64位操作系统分为两种,1种是int为32位long为64位,2种int long均为64位。之所以说int同时也与编译器有关,编译器完全可以在32位系统模拟64位整数,例如Unix/Linux下的long long和Windows下的__int64均为64位整数。

埋头做牛,抬头做人,低头做狗
2013-11-27 09:09
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:4 
C语言从来没说过int为2字节吧?!(或许有过,因我无知)
即使在那只有一个数学类型(int)的洪荒实验室年代,也只是将这个唯一类型(int)设为和机器字长相同

int有多长,只取决于你的编译器使用的数据模型,差别在于不同的编译器可能使用不同的数据模型,有的编译器还可以使用编译参数更改数据模型
2013-11-27 09:42
快速回复:类型变量字节数与书上有出入
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033944 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved