有个问题 想请教一下

jiashao606 2006-09-07 12:01:37
typedef struct
{
char name[10];
int num;
int age;
char addr[15];
}GUEST_TYPE, *PGUEST_TYPE;


GUEST_TYPE guest[SIZE];
PGUEST_TYPE pguest; //这样定义是何意 是不是等同#define
:
:
:
while(fread(&guest[i],sizeof(struct GUEST_TYPE),1,fp)>0) //这样写行吗
...全文
217 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lj860603 2006-09-07
  • 打赏
  • 举报
回复
while(fread(&guest[i],sizeof(struct GUEST_TYPE),1,fp)>0) //这样写行吗
===================

sizeof(struct GUEST_TYPE)?
=============》
sizeof(GUEST_TYPE)
lj860603 2006-09-07
  • 打赏
  • 举报
回复
//这样定义是何意 是不是等同#define
======================
在这里应该是等同的,但并不是说typedef定义新类型的功能和define等同。
lj860603 2006-09-07
  • 打赏
  • 举报
回复
PGUEST_TYPE pguest;
==========>
相当于定义一个指向上面那个结构体的指针。

也可以写成:GUEST_TYPE* pguest;
HappyTree 2006-09-07
  • 打赏
  • 举报
回复
PGUEST_TYPE pguest;
相当于
GUEST_TYPE* pguest;
jixingzhong 2006-09-07
  • 打赏
  • 举报
回复
while(fread(&guest[i],sizeof(struct GUEST_TYPE),1,fp)>0) //这样写行吗
================================
GUEST_TYPE 就是 那个 struct ...

所以这个 struct 关键字就可以不要了 ~
jixingzhong 2006-09-07
  • 打赏
  • 举报
回复
typedef 定义别名。

相当于是用 PGUEST_TYPE 代替了 typedef struct
PGUEST_TYPE 代替了 typedef struct *

所以,
GUEST_TYPE guest[SIZE]; ==》 typedef struct guest[SIZE];
PGUEST_TYPE pguest; ==》 typedef struct *pguest;

69,371

社区成员

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

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