| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5160 人关注过本帖
标题:sizeof是编译时还是运行时计算的
只看楼主 加入收藏
zhasdqqq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-10-18
结帖率:0
收藏
已结贴  问题点数:10 回复次数:8 
sizeof是编译时还是运行时计算的
sizeof的用法,它是编译时还是运行时计算
2015-01-21 14:22
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
编译时

授人以渔,不授人以鱼。
2015-01-21 14:23
zhasdqqq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-10-18
收藏
得分:0 
回复 2楼 TonyDeng
这是什么原理呢?
2015-01-21 14:28
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
C/C++是静态强类型语言,所有数据的尺寸在编译时确定。对于int这样根据平台环境变化尺寸的数据,是在编译时检测平台环境代进去的,在16位环境上,int是2字节的,在32位环境上,int是4字节的,这些都在编译程序安装在某台机器上时就设置好,默认以当前机器环境的尺寸进行编译(可以通过编译参数强制改变,比如vs本身是32位程序,也可以在32位机上编译64位的程序),不用运行时计算。

授人以渔,不授人以鱼。
2015-01-21 14:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
http://baike.baidu.com/view/1078660.htm

授人以渔,不授人以鱼。
2015-01-21 14:48
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9030
专家分:54050
注 册:2011-1-18
收藏
得分:5 
以前全是编译时,但C99增加了VLA
C99增加了VLA,但C11又将VLA将为“可选的”
2015-01-21 14:49
zhasdqqq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-10-18
收藏
得分:0 
回复 6楼 rjsp
谢谢啦
2015-01-21 15:23
菜0鸟
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-10-9
收藏
得分:0 
无法理解:什么叫编译时计算?或者运行时计算?两者有什么不同?
2016-11-04 10:09
沐子
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-7-24
收藏
得分:0 
编译
2017-07-24 09:15
快速回复:sizeof是编译时还是运行时计算的
数据加载中...
 
   



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

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