+ -
当前位置:首页 → 问答吧 → 结构体类型

结构体类型

时间:2011-12-15

来源:互联网

再《C和指针》结构里一章中有如下说明:
C/C++ code

struct 
{
  int a;
  int b;
}x

struct
{
  int a;
  int b;
}y[20],*z


作者指出z=&x是非法的,理由是类型不同。为什么。

作者: huchendushen   发布时间: 2011-12-15

因为不同就是不同。这样写的结构体是匿名的结构体。两个匿名的结构体虽然或许成员是一样的,但是他样的类型肯定是不一样的。相当于:

struct xx1{
int a;
int b;

};
struct xx2{
int a;
int b;
];

xx1 与 xx2是相同的类型吗?
不是、

作者: mingliang1212   发布时间: 2011-12-15

虽然都住在一个宾馆里 但你不能乱进别人房间 尤其还要上床。。。。。

作者: psv1988psv   发布时间: 2011-12-15

两个结构体类型不一样~~

作者: zhutou100hao   发布时间: 2011-12-15

不同的结构体就是不同的类型啊

作者: yuzhenhua001   发布时间: 2011-12-15

不同的结构体就是不同的类型

作者: S1594022765   发布时间: 2011-12-15

引用 1 楼 mingliang1212 的回复:

因为不同就是不同。这样写的结构体是匿名的结构体。两个匿名的结构体虽然或许成员是一样的,但是他样的类型肯定是不一样的。相当于:

struct xx1{
int a;
int b;

};
struct xx2{
int a;
int b;
];

xx1 与 xx2是相同的类型吗?
不是、

匿名结构体每次声明都是不一样的,正解!

作者: logicouter   发布时间: 2011-12-15

不同的结构体就是不同的类型

作者: A38017032   发布时间: 2011-12-15