+ -
当前位置:首页 → 问答吧 → 冒号的问题

冒号的问题

时间:2011-12-21

来源:互联网

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,

作者: frogoscar   发布时间: 2011-12-21

第一个是位域,第二个是结构体变量始化。

作者: qq120848369   发布时间: 2011-12-21

C语言基础问题。

作者: linwhwylb   发布时间: 2011-12-21

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






这个是定义变量,定义1个bit 和7个bit的内存空间。

作者: luoyaojun000   发布时间: 2011-12-21

下面一个是 结构体赋值而已

作者: luoyaojun000   发布时间: 2011-12-21