读书人

冒号的有关问题

发布时间: 2012-02-15 12:09:44 作者: rapoo

冒号的问题

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,


[解决办法]
第一个是位域,第二个是结构体变量始化。
[解决办法]
Assembly code
struct pmem_bits {    unsigned allocated:1;        /* 1 if allocated, 0 if free */    unsigned order:7;        /* size of the region in pmem space */};
[解决办法]
一个是类型声明,一个定义变量,别搞混了。
[解决办法]
探讨
引用:
第一个是位域,第二个是结构体变量始化。

第二个与
.family = PF_UNIX,
是一样的作用吗?

读书人网 >UNIXLINUX

热点推荐