->是什么和它的用处:
->是一个整体,它是用于指向结构体、C++中的class等含有子数据的指针用来取子数据。换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”.(即只****用在结构体指针中,用来取出结构体的数据值)
举个例子:
struct Data
{
int a,b,c;
}; /定义结构体/
struct Data * p;/定义结构体指针/
struct Data A = {1,2,3};/声明变量A/
int x;/声明一个变量x/
p = &A ; /让p指向A/
x = p- > a; /这句话的意思就是 取出p所指向的结构体中包含的数据项a 赋值给x/
/由于此时p指向 A,因而 p->a == A.a , 也就是1/
p=p->next的含义:
“->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据。
换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。
问题中的p=p->next ,意思是将p指向的一个结构体实例中的自数据next赋值给p。