结构体的嵌套
声明共同体的方法跟结构体的三种方式一样 .
typedef int arrs[5];
typedef arrs * p_arr5;
typedef p_arr5 arrp10[10];
arr5 togs; // togs是具有5个元素的int数组
p_arr5 p2; // p2是一个指针,指向具有元素的数组
arrp10 ap; // ap是具有十个元素的指针数组,每个指针指向具有5个元素的int数组
“->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据。
换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。
问题中的p=p->next ,意思是将p指向的一个结构体实例中的自数据next赋值给p。
扩展资料:
在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
定义与声明:
结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。