首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

冒号的有关问题

2012-02-11 
冒号的问题C/C++ codestruct pmem_bits {unsigned allocated:1/* 1 if allocated, 0 if free */unsigned

冒号的问题

C/C++ code
struct pmem_bits {    unsigned allocated:1;        /* 1 if allocated, 0 if free */    unsigned order:7;        /* size of the region in pmem space */};


正在学习Android源码
看到这样的冒号的用法,请问是赋值吗?还是位结构?


还有像这样的linux内核代码里的:
C/C++ code
struct proto_ops unix_dgram_ops = {         family:         PF_UNIX,         release:        unix_release,         bind:           unix_bind,         connect:        unix_dgram_connect,         socketpair:     unix_socketpair,         accept:         sock_no_accept,         getname:        unix_getname,         poll:           datagram_poll,         ioctl:          unix_ioctl,         listen:         sock_no_listen,         shutdown:       unix_shutdown,         setsockopt:     sock_no_setsockopt,         getsockopt:     sock_no_getsockopt,         sendmsg:        unix_dgram_sendmsg,         recvmsg:        unix_dgram_recvmsg,         mmap:           sock_no_mmap,         sendpage:       sock_no_sendpage,};


这里的冒号是赋值吗?
为什么最后还有一个逗号 sendpage: sock_no_sendpage,


[解决办法]
这是C的位操作,使用“位字段”,第一段代码的意思是给allocated 1个位空间,给order 7个位空间。
具体的情况去C论坛问或者百度

热点排行