C++-结构体-指针-地址-指针的指针-地址的地址

ops/2024/10/18 12:28:08/

经验证,仿真结果与预期一致。

#include <QDebug>
struct test_years {int year;};//定义结构体
int main() {//定义三个结构体,s01,s02,s03test_years s01,s02,s03;s01.year = 1000;//给s01结构体中year赋值s02.year = 2000;//给s02结构体中year赋值test_years * s = &s03;//给s03结构体中year赋值s->year = 3000;const test_years * arp[3] = {&s01,&s02,&s03};//定义arp指针数组,存储三个结构体的地址。qDebug() << "arp"       << arp;         //第一个结构体地址的地址qDebug() << "&arp"      << &arp;        //第一个结构体地址的地址qDebug() << "&arp[0]"   << &arp[0];     //第一个结构体地址的地址qDebug() << "&arp[1]"   << &arp[1];     //第二个结构体地址的地址qDebug() << "&arp[2]"   << &arp[2];     //第三个结构体地址的地址qDebug() << "*arp"      << *arp;        //第一个结构体地址的值qDebug() << "*(&arp[0])"<< *(&arp[0]);  //第一个结构体地址的值qDebug() << "arp[0]"    << arp[0];      //第一个结构体地址的值qDebug() << "*(&arp[1])"<< *(&arp[1]);  //第二个结构体地址的值qDebug() << "arp[1]"    << arp[1];      //第二个结构体地址的值qDebug() << "*(&arp[2])"<< *(&arp[2]);  //第三个结构体地址的值qDebug() << "arp[2]"    << arp[2];      //第三个结构体地址的值//将第一个结构体地址的地址赋给ppa,即&s01的地址;//*ppa为第一个结构体的地址,等于arp[0]或&s01,代表s01的地址,//**ppa代表第一个结构体const test_years ** ppa = arp;qDebug() << "ppa"           << ppa;             //第一个结构体地址的地址qDebug() << "*ppa"          << *ppa;            //第一个结构体地址的值,这个值也是地址,指向第一个结构体s01qDebug() << "(**ppa).year"  << (**ppa).year;    //输出第一个结构体中year的值qDebug() << "(*ppa)->year"  << (*ppa)->year;    //输出第一个结构体中year的值 。 “->”代表指向结构的指针qDebug() << "(*(ppa + 1))->year"    << (*(ppa + 1))->year;  //输出第二个结构体中year的值qDebug() << "(*(ppa + 2))->year"    << (*(ppa + 2))->year;//输出第三个结构体中year的值
}

上述代码运行结果:


http://www.ppmy.cn/ops/16312.html

相关文章

git 命令怎么回退到指定的某个提交 commit hash 并推送远程分支?

问题 如下图&#xff0c;我要回退到 【002】Babel 的编译流程 这一次提交 解决 1、先执行下面命令&#xff0c;输出日志&#xff0c;主要就是拿到提交 commit 的 hash&#xff0c;上图红框即可 git log或者 vscode 里面直接右击&#xff0c;copy sha 2、执行下面命令回退 g…

主成分分析(PCA):揭秘数据的隐藏结构

在数据分析的世界里&#xff0c;我们经常面临着处理高维数据的挑战。随着维度的增加&#xff0c;数据处理、可视化以及解释的难度也随之增加&#xff0c;这就是所谓的“维度的诅咒”。主成分分析&#xff08;PCA&#xff09;是一种强大的统计工具&#xff0c;用于减少数据的维度…

【计算机网络】成功解决 ARP项添加失败:请求的操作需要提升

最近在用Wireshark做实验时候&#xff0c;需要清空本机ARP表和DNS缓存&#xff0c;所以在cmd窗口输入以下命令&#xff0c; 结果发生了错误&#xff1a;ARP项添加失败&#xff1a;请求的操作需要提升 一开始我还以为是操作的命令升级了&#xff0c;但是后面发现其实只是给的权…

OpenHarmony语言基础类库【@ohos.util.Deque (线性容器Deque)】

Deque&#xff08;double ended queue&#xff09;根据循环队列的数据结构实现&#xff0c;符合先进先出以及先进后出的特点&#xff0c;支持两端的元素插入和移除。Deque会根据实际需要动态调整容量&#xff0c;每次进行两倍扩容。 Deque和[Queue]()相比&#xff0c;Queue的特…

【WebRTC】【Unity】局域网UDP通信为何不通

【背景】 还是在研究Unity中实现VR桌面&#xff0c;希望能够通过UDP广播先找到所有活跃的Client。但是发现UDP广播并未能够成功传递给同一局域网正在运行的客户端。 【分析】 UDP信息在局域网不通可能有如下几个原因&#xff1a; 未连在同一个网段防火墙问题是否存在其它网…

数据分析:方差分析在R语言中的应用

介绍 方差分析的R语言实现包括以下部分&#xff1a; 数据导入 数据清洗 ANOVA计算 结果解析 ANOVA评估 参考教程Analysis_of_Variance knitr::opts_chunk$set(message FALSE, warning FALSE)options(stringsAsFactors F) options(future.globals.maxSize 1000 * 10…

Redis学习(二)|深入学习Redis 持久化

文章目录 什么是 Redis 的持久化**RDB 持久化**工作原理特点优点缺点 使用场景配置和调优 **AOF 持久化**工作原理特点优点缺点 使用场景配置和调优 RDB vs AOFAOF vs 幂等Redis 的持久化功能配置RDB or AOF设置 RDB 持久化设置 AOF 持久化重启 Redis 服务 RDB 持久化配置AOF 持…

Aigtek:介电弹性体高压放大器在软体机器人研究中的应用

近年来软体机器人的研究成为目前机器人研究领域的热点&#xff0c;由于软体材料的自由度可以根据需求自由变化&#xff0c;因此软体机器人有着极高的灵活性&#xff0c;而且软体机器人因其材料的柔软性有着很好的人机交互性能和安全性。它的出现成功解决了传统的刚性机器人人机…