| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3099 人关注过本帖
标题:c中冒号的作用?help
只看楼主 加入收藏
kinglence
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-9-3
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:4 
c中冒号的作用?help
int type:1;   int reserved:31;
这两个冒号是什么意思啊???
搜索更多相关主题的帖子: 冒号 help 
2009-09-04 23:46
养下就很帅
Rank: 2
等 级:论坛游民
帖 子:32
专家分:50
注 册:2007-8-3
收藏
得分:0 
这两句在c语言中是类型定义 int 后跟变量名 ~ 标识符的命名规则里包括:吗
2009-09-04 23:55
prankmoon
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:161
专家分:921
注 册:2009-7-21
收藏
得分:5 
lz这样的代码经常在结构里面用到,冒号后面的数字表明的是所占位宽,主要是为了节省存储空间。比如:
struct message_header
{
    unsigned char aa :1;
    unsigned char bb :1;
    unsigned char cc :1;
    unsigned char dd :1;
    unsigned char ee :4;
};
这样一来,整个结构就只需要1个字节,也就是8位(1 + 1 + 1 + 1 + 4)就够了。这样在诸如设置掩码之类的地方特别方便。
                                                         .
像你的那段代码就只需要1个32位(1 + 31)的int型存储空间就够了,而不需要2个32位的int空间。

[ 本帖最后由 prankmoon 于 2009-9-5 00:24 编辑 ]
2009-09-05 00:22
xtulearner
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2009-5-19
收藏
得分:0 
结构体能这样定义吗?联合体才这样呀。

今朝有酒今朝醉,哪管明日乐与悲。
2009-09-05 18:31
diaoxiong007
Rank: 1
等 级:新手上路
帖 子:4
专家分:6
注 册:2009-9-5
收藏
得分:0 
其实是位段
c语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为“位段”或“位域”,功能是节省空间,前提是用在结构体中;
例 struct packed_data
{
unsigned a:2;
unsigned b:6;
unsigned c:4;
unsigned d:4;
int i;
}data;
在位段中":"的作用就是接位数。
2009-09-05 20:42
快速回复:c中冒号的作用?help
数据加载中...
 
   



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

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