指向结构体变量的指针变量的定义形式与一般指针变量的定义形式相同,只是将其指向类型定义为结构体类型即可。例如:
struct person { char name[20]; char sex; int age; float height; }; struct person *p;
typedef struct student //类型定义 { int id; int age; char name[20]; char sex; }STU; //注意后面的分号 STU *ptr;
则指针变量p,它可以指向struct person类型的结构体变量。
将一个指针变量指向一个结构体变量后,可以利用指向该结构体的的指针变量引用成员,如:
(* 指针变量名).成员名 如(*p).age;
以上形式也常写成:
指针变量名->成员名 p->age;
其中,->为指向运算符,它是由符号“-”和“>”两部分构成的。指向运算符的优先级和成员运算符相同,也是最高一级。