这两个定义有什么区别啊?
typedef struct xy {
int x, y;
struct xy *pxy;
}xy;
typedef struct {
int x, y;
struct xy *pxy;
}xy;
这两个定义有什么区别啊?
typedef struct xy {
int x, y;
struct xy *pxy;
}xy;
typedef struct {
int x, y;
struct xy *pxy;
}xy;
2007-09-22 12:46

2007-09-22 12:56

2007-09-22 13:05
2007-09-22 13:10
2007-09-22 13:16
有趣哈 第二种其实还是有点问题的
就是这种typedef struct {
int x, y;
struct xy *pxy;
}xy;
比如说我在main中下列代码就会报警告
xy *pxy1, *pxy2;
pxy1 = (xy*)malloc(sizeof(xy));
pxy2 = (xy*)malloc(sizeof(xy));
pxy1 -> pxy = pxy2; 此处报警告 因为编译器 认为你 将两个不同类型的指针互相 给值
其中pxy2 是xy*类型 赋给了 pxy1 是struct xy*类型

2007-09-22 13:22
2007-09-22 13:24

2007-09-22 14:22
typedef struct xy{
int x, y;
struct xy *pxy;
}xy;
int main(void)
{
xy *pxy1, *pxy2;
pxy1 = (xy*)malloc(sizeof(xy));
pxy2 = (xy*)malloc(sizeof(xy));
pxy1 -> pxy = pxy2;
return 0;
}

2007-09-22 15:49
你的意思是这样写吗?
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int x, y;
xy *pxy;
}xy;
int main(void)
{
xy *pxy1, *pxy2;
pxy1 = (xy*)malloc(sizeof(xy));
pxy2 = (xy*)malloc(sizeof(xy));
pxy1 -> pxy = pxy2;
return 0;
}
vc6.0编译出错

2007-09-22 16:08