数据结构(Data structures)(二):结构体指针
Pointers to structures
像其它数据类型一样,结构体也可以有指针。可以被它自己的类型的指针所指向。其规则同其它基本数据类型一样:
struct movies_t{
string title;
int year;
};
movies_t amovie;
movies_t* pmovie;
这里 amovie 是一个结构体 movies_t 的对象,而pmovie 是一个指向结构体movies_t 的对象的指针。所以,同基本数据类型一样,以下表达式也是正确的:
pmovie = &amovie;
现在,让我们看一个包含有指针和结构体的例子,这里我们将引入一个新的操作符——箭头操作符(->):
|
Enter title: Invasion of the body snatchers Enter year: 1978You have entered: Invasion of the body snatchers (1978) |
上面的代码中引入了一个重要的操作符:->。这是一个间接引用操作符,常与结构体或类的指针一起使用,以便引用其中的成员元素,例如:
pmovie -> title;
与语句:
(*pmovie).title;
是等价的。
以上两种表达式 pmovie ->title 和 (*pmovie).title 都是合法的,都表示取指针pmovie 所指向的结构其元素title 的值。我们要清楚将它和以下表达区分开:
*pmovie.title;
它等价于:
*(pmovie.title);
表示取结构pmovie 的元素title 作为指针所指向的值,这个表达式在本例中没有意义,因为title本身不是指针类型。
下表中总结了指针和结构组成的各种可能的组合:
表达式 | 描述 | 等价于 |
pmovie.title | 结构体pmovie 的元素title | |
pmovie->title | 指针pmovie 所指向的结构体其元素title 的值 | (*pmovie).title |
*pmovie.title | 结构体pmovie 的元素title 作为指针所指向的值 | *(pmovie.title) |
转载于:https://www.cnblogs.com/guozqzzu/p/3625577.html
数据结构(Data structures)(二):结构体指针相关推荐
- c语言结构体指针->基本使用
基本用法 "->"是一个整体,它用于指向结构体子数据的指针,用来取子数据. 换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出 ...
- c语言结构内部定义指针,C语言知识补漏(一)结构体指针以及位域定义
一.结构体指针 typedef struct { unsigned long int DATA; unsigned long int DIRECTION; unsigned long int INTE ...
- c语言结构体学习整理(结构体初始化,结构体指针)
渣渣c的c语言学习之路 1.关于c语言的结构体: 首先我们为什么要用到结构体,我们都已经学了很多int char -等类型还学到了同类型元素构成的数组,以及取上述类型的指针,在一些小应用可以灵活使用, ...
- Linux C 深入分析结构体指针的定义与引用
关于结构体的基础知识,网上书上都一大堆,这里就不赘述了,下面我们要学习的是结构体指针. 介绍结构体指针之前,先给大家看一个小程序: [cpp] view plaincopy #include < ...
- 定义一个结构体指针需要分配存储空间?
前言 问题的来源于在学数据结构的时候,C++的语法和C语言的语法竟然不一样. 1.首先函数的参数有两种传递方式,一个是值传递,一个是地址传递.当指针作为参数传递的时候,即为地址传递,但C++写的时候需 ...
- 结构体指针和结构体指针变量的区别
文章目录 前言 一.普通结构体变量 二.结构体指针变量 三.结构体指针 完整代码如下: 前言 结构体变量主要有三种应用场景:1.普通结构体变量:2.结构体指针变量:3.结构体指针. 一.普通结构体变量 ...
- 结构体指针变量的定义
最近在STM的GPIO结构体定义中看到源代码的时候,顺便复习下结构体指针变量的定义及typedef 的使用. 1.结构体类型定义 定义方式1: Typedef struct LNode {int da ...
- C语言结构体与结构体指针的使用
C语言结构体与结构体指针的使用 tips:最近要好好学习一下数据结构,所以必不可少的就是c语言的结构体和结构体指针了,所以就整理一下这些基础知识 c语言结构体(struct)是由一系列具有相同类型或不 ...
- c语言中定义结构体指针的作用,C语言结构体定义,使用及指针(1)
前言 C语言中的结构体作为一大难点,并且对于需要学习数据结构的同学来说,这个结构是每次上课都会遇到的,所以,我们只有更深层次的理解结构体的知识,才能更好的掌握数据结构 结构体用处 结构体到底有什么用? ...
最新文章
- 【MySQL】数据库2- MySQL表的增删改查(基础)
- Javascript-入门
- 【 POJ - 2033 】Alphacode (dp,有坑)
- C++学习之路 | PTA乙级—— 1049 数列的片段和 (20 分)(精简)
- 杀死 Oculus ,Facebook 改名 Meta ,是押注元宇宙还是“金蝉脱壳”?
- 01.php面向对象
- 尚硅谷 硅谷新闻_如果每个人都遥不可及,硅谷会损失什么
- 百胜中国于香港联交所主要上市;平安健康正式收购平安智慧医疗 | 美通企业日报...
- 贝叶斯网络(Belief Networks)--模型及方法
- 基于PHP开发的外卖订餐网站(带源码)
- mcgscom口针脚定义_触摸屏制作的速成篇(MCGS入门篇)
- block locality
- 华为鸿蒙新闻发布会,华为鸿蒙2.0、EMUI 11齐发 打通手机、电视、PC全平台
- 转载——天才与锻炼(华罗庚)
- android从九宫格全屏预览,仿微信朋友圈展示图片的九宫格图片展示控件,支持点击图片全屏预览大图...
- 2021年电影市场票房波动模型分析思路及参考代码
- PHPMyWind支持PowerPoint上传
- 英语进阶系列-A05-英语升级练习三
- 创建一个成功的NFT,总共分几步?
- 三星HDM Odyssey适配SteamVR