Chinaunix

标题: 问个关于c的问题 [打印本页]

作者: justlooks    时间: 2012-07-18 10:13
标题: 问个关于c的问题
看代码看到有下列写法,然后我自己实验了下

  1. unsigned        n_def:10;
复制代码

  1. struct t_my {
  2.         unsigned t1:10;
  3. };

  4. main()
  5. {
  6.         struct t_my t;
  7.    printf("%d\n",t.t1);
  8. }
复制代码
输出是随机数字,这个:10到底是什么?
# ./a.out
880

作者: Moon_Bird    时间: 2012-07-18 10:19
位域   只用几个比特位来存储信息
作者: fly6    时间: 2012-07-18 10:21
这个是GCC的扩展写法吧,主要用在协议头的各种结构中,10表示第10位吧(从低至高),而不是赋值10
这里你未初始化结构,所以是个随机数
作者: pmerofc    时间: 2012-07-18 10:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: zooyo    时间: 2012-07-18 11:02
提示: 作者被禁止或删除 内容自动屏蔽
作者: haixiuyun    时间: 2012-07-18 17:50
表示占用了低十位




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2