定义一个结构体变量stu,成员包括学号、姓名、性别、成绩。定义一个指针变量p指向该结构体变量stu,通过该指针变量输出各成员的值

本文主要是介绍定义一个结构体变量stu,成员包括学号、姓名、性别、成绩。定义一个指针变量p指向该结构体变量stu,通过该指针变量输出各成员的值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        一个结构体变量的指针就是该变量所占据的内存段的起始地址。可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。指针变量也可以用来指向结构体数组中的元素。

编写程序:

运行结果:

程序分析:

        在主函数中声明了Student类型,然后定义一个Student类型的变量stu。同时又定义一个指针变量p,它指向一个Student类型的数据。将结构体变量stu的起始地址赋给指针变量p,也就是使p 指向stu,然后对stu中的各成员赋值。第1个cout语句的作用是输出stu的各个成员的值。用stu.num 表示stu中的成员num,其余类推。第2个cout语句用(*p)和成员运算符"."输出stu各成员的值,(*p)表示p指向的结构体变量,(*p).num是p指向的结构体变量中的成员num,即stu.num。注意*p两侧的括号不可省略,因为成员运算符"."优先于"*"运算符,*p.num就等价于*(p.num)了。

        两个cout语函数输出的结果是相同的。
        为了使用方便和使之直观,C和C++提供了指向结构体变量的运算符"->",形象地表示"指向"的关系。例如,p->num表示指针 p 当前指向的结构体变量中的成员num。p->num和(*p).num 等价。同样,p->name等价于(*p).name。也就是说,以下3种形式等价:
        ①结构体变量.成员名。如stu.num。
        ②(*p).成员名。如(*p).num。
        ③p->成员名。如p->num。"->"称为指向运算符
        请分析以下几种运算:
        p->n             得p指向的结构体变量中的成员n的值。
        p->n++         得到p指向的结构体变量中的成员n的值,用完该值后使它加1。
        ++p->n         得到p指向的结构体变量中的成员n的值,并使之加1,然后再使用它。

这篇关于定义一个结构体变量stu,成员包括学号、姓名、性别、成绩。定义一个指针变量p指向该结构体变量stu,通过该指针变量输出各成员的值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1071301

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Spring Boot中的路径变量示例详解

《SpringBoot中的路径变量示例详解》SpringBoot中PathVariable通过@PathVariable注解实现URL参数与方法参数绑定,支持多参数接收、类型转换、可选参数、默认值及... 目录一. 基本用法与参数映射1.路径定义2.参数绑定&nhttp://www.chinasem.cnbs

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Python循环结构全面解析

《Python循环结构全面解析》循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随... 目录for-in循环while循环循环控制语句break语句continue语句else子句嵌套的循

Python变量与数据类型全解析(最新整理)

《Python变量与数据类型全解析(最新整理)》文章介绍Python变量作为数据载体,命名需遵循字母数字下划线规则,不可数字开头,大小写敏感,避免关键字,本文给大家介绍Python变量与数据类型全解析... 目录1、变量变量命名规范python数据类型1、基本数据类型数值类型(Number):布尔类型(bo

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

一文全面详解Python变量作用域

《一文全面详解Python变量作用域》变量作用域是Python中非常重要的概念,它决定了在哪里可以访问变量,下面我将用通俗易懂的方式,结合代码示例和图表,带你全面了解Python变量作用域,需要的朋友... 目录一、什么是变量作用域?二、python的四种作用域作用域查找顺序图示三、各作用域详解1. 局部作