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——后者是说不通的,起码的错误是标识符不可能以*开头!