我对以下内容感到困惑:
typedef struct body *headerptr;
现在,当我使用headptr类型创建指向结构体的东西时,创建一个新的headerptr将如下所示(我不确定我是否正确地执行此操作):
headerptr newHeadptr;
我是否正确地假设这将是一个指向结构体的指针?
答案 0 :(得分:3)
是。 headerptr
现在相当于struct body*
。
答案 1 :(得分:2)
这是一个指向结构体的指针。
您宣布它的方式,newHeadptr
可以指向struct body
。但请记住,您尚未指定struct body
来指向它。最初,newHeadptr
只会有一些垃圾值。为了纠正这个问题,你可以这样做:
headerptr newHeaderptr = malloc(sizeof(*newHeaderptr));
或:
struct body newBody;
headerptr newHeaderptr = &newBody;