一个指针变量当用于来指向一个结构变量的时候,称之为结构指针变量。在结构指针变量中的值是指向的结构变量的首地址。
结构指针变量说明的一般形式为:
struct结构名*结构指针变量名。
结构名和结构变量是两个不同的概念。结构名只能表示一个结构形式,编译系统并不对他分配内存空间。只有当某变量被说明为这种类型的结构时,才对该变量分配存储空间。
访问的一般形式为:(*结构指针变量)成员名【(*pstu).num】
结构指针变量->成员名【pstu->num】
下面程序通过定义一个结构stu,定义了stu类型结构变量boy1并作了初始化赋值,还定义了一个纸箱stu类型结构的指针变量pstu。
在main函数中,patu被赋予boy1的地址,此时patu指向boy1.
从上面的运行结果可以看出:结构变量.成员名
(*结构指针变量).成员名
结构指针变量->成员名
这三种用于表示结构成员的形式是完全等效的。