“->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据。
换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。
举个栗子:
问题中的p=p->a,意思是将p指向的一个结构体实例中的自数据a赋值给p.
首先定义一个结构体:
struct Fruit{
int Apple,Banana,Orange;
}
struct Fruit * p; //定义结构体指针
struct Fruit Number={1,1,2}; //声明一个变量Number,表示水果的数量
int x; //声明一个变量
p = &Number; // 让P指向Number (&为取地址符号)
x = p->Apple; //去除P所指向的结构体中包含的数据项Apple赋值给x
x = Number.Apple; //和上面表达的意思是一样的