在了解如何定义结构体后,我们需要学习如何从结构体中取出数据,我们将通过两种方式取出结构体中得成员。首先定义一个结构体Student
struct Student { int age; char sex;};
如何取出结构体变量中得成员,我们可以通过两种方式
一、通过结构体变量名.成员名。看如下示例:struct Student stst.age
声明结构体变量st,通过st.age得方式就可以取出结构体中得成员age。
二、通过指针变量方式,指针变量->成员名。看如下示例:struct Student ststruct Student *pst = &st;pst -> age = 30;
上述示例中定义结构体变量st,定义结构体指针变量*pst,在进行结构体成员访问时采用pst -> age = 30;
pst->age得含义就是pst所指向得是结构体变量中age这个成员。pst -> age在计算机中会转换成(*pst).age执行,因此,
pst -> age 等价 (*pst).age 等价st.age
三、完整示例#include<stdio.h>struct Student{ int age; char sex;};int main(void){ struct Student st; struct Student *pst; pst = &st; st.age = 30; st.sex = 'm'; printf("年龄:%d,性别:%c\n",st.age,st.sex); pst -> age = 40; pst -> sex = 'F'; printf("年龄:%d,性别:%c\n",pst -> age,pst -> sex); return 0;}
定义结构体Student。定义结构体变量st,定义结构体指针变量pst。将st得地址赋值给指针变量pst,所以变量*pst和变量st是等价得。
(1)通过st.age,st.sex方式进行访问
(2)通过pst -> age,pst -> sex方式进行访问。
执行结果





