当前位置:  技术问答>linux和unix

共用体中定义结构体

    来源: 互联网  发布时间:2016-06-23

    本文导语:  小弟有一个问题想向各位请教: union FLAGS_UNION { struct { unsigned int CannotClaimAddress : 1; unsigned int WaitingForAddressClaimContention              : 1; unsigned int GettingCommandedAddress : 1; unsigned int GotFirstDataPacket...

小弟有一个问题想向各位请教:

union FLAGS_UNION {
struct {
unsigned int CannotClaimAddress : 1;
unsigned int WaitingForAddressClaimContention              : 1;
unsigned int GettingCommandedAddress : 1;
unsigned int GotFirstDataPacket : 1;
unsigned int ReceivedMessagesDropped : 1; 
               };
unsigned char FlagVal;
};
typedef union FLAGS_UNION FLAG;

    这是我看到的一段程序,他使用 FLAG->CannotClaimAddress 作变量,但我在linux C中就不行,不知各位高手有什么看法?

|
这个不对吧,union里面只有一个结构体定义,并没有结构体变量的定义。
另外,FLAG是个类型名,怎么能:“FLAG->CannotClaimAddress”呢?

|
一个类型FLAG是不能直接访问子成员CannotClaimAddress的。
楼主在Windows下面用的是什么编译器?
是VC吧

|

同意这个观点
里面的结构体没有变量,恐怕不能运行

|
楼主用的是C++的语法吧

|
看似c++,匿名Union成员。

|
struct { 
unsigned int CannotClaimAddress : 1; 
unsigned int WaitingForAddressClaimContention              : 1; 
unsigned int GettingCommandedAddress : 1; 
unsigned int GotFirstDataPacket : 1; 
unsigned int ReceivedMessagesDropped : 1; 
              }; 
unsigned char FlagVal
结构体名呢

|
楼主要这样做,好象意图不明确呀!

|
 这是我看到的一段程序,他使用 FLAG->CannotClaimAddress 作变量,但我在linux C中就不行,不知各位高手有什么看法?

他使用 FLAG->CannotClaimAddress 作变量是什么意思??
你前面就是一个union而已啊。union里分别是一个5元素的位域struct,和一个char数据而已。

没理解你想问什么?

|
讲的不错, 顶,加接分。

    
 
 

您可能感兴趣的文章:

  • 请问:在用proc方式往数据库插入数据时,我能不能定义一个结构体,它与表的每一项对应,将结构体赋好值后,再只将这个结构体插入表中,这行不行啊?
  • python中定义结构体的方法
  • 在Qt中,不知道如何定义结构变量-struct?
  • 求助:我的第一个 socket 程序,缺少某些结构的定义
  • vim自定义结构体怎样自动补全
  • 一个结构定义的问题!
  • 最简单的问题,linux下怎么查看某个结构体的定义。
  • 请教redhat9下如何查看系统定义的结构的帮助文档
  • 如何实现C#自定义结构的强制转换
  • 请问linux下FILE结构在哪里有定义,
  • 如何在Vi中跟踪一个结构的具体定义?
  • struct sockaddr_in 这个结构在哪里定义的?
  • 一个简单的结构体定义的问题
  • emacs中写程序的时候能否方便的查到某些结构体的定义?
  • 定义一个进程结构体发生错误,求助!
  • 编程语言 iis7站长之家
  • 请问:unix中struct timeval结构在那个头文件里定义?
  • 新手提问:有没有快捷的办法找到一个结构的定义(比如FILE, acct等)
  • 已经包含了unistd.h,gcc编译时仍报错未定义pid_t结构体
  • GTK+遇到一个超怪异的错误,定义的结构体赋值就出错。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt类radialgradientpaint的类成员方法: getradius定义及介绍
  • 请问可以用宏定义定义一个二维数组吗?
  • java命名空间javax.xml.stream类xmlinputfactory成员方法: seteventallocator定义参考
  • 想修改路径定义,想找到在哪里定义的,应该怎么办?
  • java命名空间java.text接口attributedcharacteriterator的类成员方法: getallattributekeys定义及介绍
  • php定义数组和使用示例(php数组的定义方法)
  • java命名空间java.beans接口propertyeditor的类成员方法: supportscustomeditor定义及介绍
  • 上次问题解决了,原来是extern被重定义了。。。天阿,关键字也可以被重定义。。。。。欢迎接分
  • java命名空间javax.swing类jtextarea的类成员方法: getcolumnwidth定义及介绍
  • 如何定义一个可变参数的自定义函数
  • java命名空间javax.swing类jtextfield的类成员方法: getcolumnwidth定义及介绍
  • 下面的变量我都下了定义,为什么还出现没定义的信息
  • java命名空间javax.swing类actionmap的类成员方法: allkeys定义及介绍
  • oracle异常(预定义异常,自定义异常)应用介绍
  • java命名空间javax.swing类inputmap的类成员方法: allkeys定义及介绍
  • 为什么我在头文件time.h里找不到time_t的定义呢?只有这个定义typedef __time_t time_t;
  • java命名空间javax.rmi.corba接口valuehandler的类成员方法: iscustommarshaled定义及介绍
  • 函数有定义怎么提示没有低能定义的错误呢?
  • java命名空间javax.swing类jcomponent的类成员方法: resetkeyboardactions定义及介绍
  • android自定义控件和自定义回调函数步骤示例
  • java命名空间java.beans接口customizer的类成员方法: setobject定义及介绍
  • 自定义公共类的装载,包的定义


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3