问个C语言中嵌套结构体和联合体的问题,谢谢指点.

yuanyuan208 2006-08-07 01:26:55
typedef struct A{
#ifdef VALUE
Temp temp;
#endif
union
{

struct
{
int tempNum;
int tempGroup;
}C;
struct
{
char tempClass;
char tempFlie[10];
}D;

}B;

}A;
在上面的嵌套联合结构体中,如果分别想引用C结构体变量和D结构体变量中的成员,该如何引用>

可以写成如下形式吗?

--->>A.B.C.tempNum;
--->>A.B.D.tempFile;
这样可以吗>

如果要对其成员进行赋值,可以写成如下形式吗>

--->>A.B.C.tempNum = 0;
--->>A.B.D.tempFile = {0};
这样可以吗>

敬请高人指点,谢谢
...全文
674 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
tailzhou 2006-08-07
  • 打赏
  • 举报
回复
A.B.D.tempFile 引用方式是对的,但赋值的方式不对

memset(A.B.D.tempFile , 0, sizeof(A.B.D.tempFile ));
tailzhou 2006-08-07
  • 打赏
  • 举报
回复
YeTimmy(#我顶你个肺#) ( ) 信誉:100 2006-08-07 14:09:00 得分: 0
除了tempFlie外,其他的都可以
不能对数组名进行赋值操作


A.B.C.tempNum = 0; //可以
A.B.D.tempFile = {0}; //不可以
yuanyuan208 2006-08-07
  • 打赏
  • 举报
回复
不好意思,没注意写错了.谢谢tailzhou(尾巴) ( ) 的指出.那引用那些写可可以吗
yuanyuan208 2006-08-07
  • 打赏
  • 举报
回复
非常感谢各位高人的指点.

烦请再问一下,
那就是说只能在A结构体中引用一个成员,用成员的方式引用了,是吗?

就比如

A tempA;
tempA.B.C.tempGroup;
tempA.B.D.tempFile;
这样可以吗>

那赋值就是

tempA.B.C.tempGroup = 0;
tempA.B.D.tempFile = {0};
这样可以吗>

谢谢各位高人指教.

tailzhou 2006-08-07
  • 打赏
  • 举报
回复
typedef struct A{
lz笔误?是不是应该这样的??
typedef struct {
。。。
}A;

如果是typedef struct {...}A;,则

YeTimmy(#我顶你个肺#) ( ) 信誉:100 2006-08-07 14:09:00 得分: 0
除了tempFlie外,其他的都可以
不能对数组名进行赋值操作


YeTimmy 2006-08-07
  • 打赏
  • 举报
回复
除了tempFlie外,其他的都可以
不能对数组名进行赋值操作
jigangwang 2006-08-07
  • 打赏
  • 举报
回复
呵呵,不好意思,尝试了一下,好像属性即使是静态的也不行....
道歉.
哪就只能是A对象的方式了,关注
jigangwang 2006-08-07
  • 打赏
  • 举报
回复
好像不可以哦
A在这里已经是一个类型名称了,除非你里边的定义是静态的.
否则必须
A对象.B.C.tempGroup
lj860603 2006-08-07
  • 打赏
  • 举报
回复
jiajun2001(嘉俊) ,你和偶一样刚刚没注意到关键字typedef!哇哈哈 ^_^
lj860603 2006-08-07
  • 打赏
  • 举报
回复
如果A是一个结构体变量的话,那么可以写那样的形式,也可以那样赋值。
lj860603 2006-08-07
  • 打赏
  • 举报
回复
E...最前面有个关键字typedef!那样应该就不可以了。
Jagen在路上 2006-08-07
  • 打赏
  • 举报
回复
没有问题啊,难道楼主不会写个程序自己测试一下?
lj860603 2006-08-07
  • 打赏
  • 举报
回复
--->>A.B.C.tempNum;
--->>A.B.D.tempFile;
这样可以吗>
===================
可以啊。
jerry 2006-08-07
  • 打赏
  • 举报
回复
就是这样,不过suruct C and B can not be used same time.

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧