访问结构体的成员

Posted LC编程开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问结构体的成员相关的知识,希望对你有一定的参考价值。

学习了结构体的定义,可以用结构体来定义变量。例如上面我们讨论的读者结构体类型,我们可以用它来定义一个读者变量,如下:

struct reader r1;

       此时,我们使用struct reader结构体来定义一个变量,变量的名称是r1。

那么,假设现在要登记注册一个读者信息,给r1变量的name成员设置读者姓名,应该怎么样操作?此时,我们就涉及到访问结构体成员的问题,有如下方式:

(1) 如果结构体变量是非指针类型,访问结构体成员的格式如下:

结构体变量名.成员名

       就是在结构体变量名后面,接着一个点号“.”运算符,然后,再接着要访问成员的名称。例如:

struct reader r1;

r1.name     //访问 r1 结构体变量的name成员;

r1.age      //访问 r1 结构体变量的age成员;

r1.number   //访问 r1 结构体变量的number成员;

       通过这种方式,可以访问非指针类型的结构体变量的成员。

(2) 如果结构体变量是指针类型,访问结构体成员的格式如下:

结构体指针变量名->成员名

       就是在结构体指针变量后面,接着指针操作符,就是一个向右的箭头符号“->”,然后,再接着要访问成员的名称,例如:

struct reader* pr1;

pr1->name       //访问 pr1 指针指向结构体变量的name成员;

pr1->age        //访问 pr1 指针指向结构体变量的age成员;

pr1->number     //访问 pr1 指针指向结构体变量的number成员;

       下面我们给出程序测试代码,分析结构体成员的访问方法,程序测试代码如下:

       程序运行结果如下:

       通过测试例子,我们知道变量r1是一个结构体变量,访问其成员通过点号“.”运算符来访问。指针变量pr是结构体指针变量,访问其指向变量的成员,通过指针运算符“->”来访问。下面我们讲解结构体指针变量的时候,再详解指针变量访问结构体成员的操作。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

以上是关于访问结构体的成员的主要内容,如果未能解决你的问题,请参考以下文章

07结构体.

第九章 结构体的使用

结构体的基础知识及存储分配

结构体怎么定义

结构体——内嵌,初始化内嵌结构体,内嵌结构体成员名字冲突

结构体struct零基础搞定C语言——12