今日快报
C语言结构体如何访问成员
2022-01-03 10:45  浏览:2033

在了解如何定义结构体后,我们需要学习如何从结构体中取出数据,我们将通过两种方式取出结构体中得成员。首先定义一个结构体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方式进行访问。

执行结果