typedef struct STU
{
int age;
struct STU *next;
}*linklist;
linklist head;
中为什么可以将结构体别名定义为带指针的*inklist?而后面定义的head又是什么类型?
哪位C大神帮我解析下
C语言给结构体定义别名用typedef关键字操作,就两种情况:
给结构体起一个别名,如:
typedef struct ABC{
...
}S;——这就为结构体ABC定义了一个别名S。以后写S x;就等价于写struct ABC x;了。
给结构体指针起一个别名,如:
typedef struct ABC{
...
}*PS;——这就为结构体指针ABC *定义了一个别名PS。以后写PS pt;就等价于写struct ABC *pt;了。注意这里是用typedef给struct ABC{...} *起一个别名PS,而不是给struct ABC{...}起一个别名*PS——后者是说不通的,起码的错误是标识符不可能以*开头!