C++语言程序设计

还用上面的例子，指向变量first_employee指针p要访问该变量的成员age，可以用下面的表达式：
p－>age
我们再来看看下面的例子：

| 例8-8

#include <stdio.h>
struct stu
{
int num;
char *name;
char sex;
float score;
} boy1={102,"Zhang ping",'M',78.5},*pstu;
void main()
{
pstu=&boy1;
printf("Number=%d\nName=%s\n",boy1.num,boy1.name);
printf("Sex=%c\nScore=%f\n\n",boy1.sex,boy1.score);
printf("Number=%d\nName=%s\n",(*pstu).num,(*pstu).name);
printf("Sex=%c\nScore=%f\n\n",(*pstu).sex,(*pstu).score);
printf("Number=%d\nName=%s\n",pstu->num,pstu->name);
printf("Sex=%c\nScore=%f\n\n",pstu->sex,pstu->score);
}

本程序的运行结果如下：
Number=102
Name= Zhang ping
Sex=M
Score=78.500000
Number=102
Name= Zhang ping
Sex=M
Score=78.500000
Number=102
Name= Zhang ping
Sex=M
Score=78.500000
本例定义了一个结构stu后，再定义了一个stu类型结构变量boy1并作了初始化赋值，一个指向stu结构类型的指针变量pstu。在main函数中，使pstu指向boy1，并在printf语句内用三种形式输出boy1的各个成员值：
结构变量.成员名
(*结构指针变量).成员名
结构指针变量->成员名
从输出结果，我们可以看到：这三种访问结构成员的方法是完全等效的。