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