结构体变量名被赋值时,‌不是赋值的地址,而是执行对整个结构体内容的复制(值拷贝)

直接赋值是成员级复制
当使用 s2 = s1; 形式的赋值时(其中 s1 和 s2 是同类型结构体变量),系统会‌逐成员复制‌ s1 中的所有数据到 s2,而非传递地址。赋值后两个变量拥有相同内容,但占据独立的内存空间。

如下示例:

struct Student s1 = {"Tom", 20};

struct Student s2;

s2 = s1; // 复制 s1 的所有成员值到 s2

printf("s1 addr=%p, s2 addr=%p", &s1, &s2); // 输出不同地址

  • 结构体变量名‌:代表整个数据实体,赋值操作触发内存拷贝。
  • 指针变量‌:存储地址,赋值如 p = &s1; 仅传递地址,不复制数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/914666.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/914666.shtml
英文地址,请注明出处:http://en.pswp.cn/news/914666.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于UDP/IP网络游戏加速高级拥塞控制算法(示意:一)

/* ███████╗ 基于UDP/IP网络游戏加速高级拥塞控制算法&#xff08;示意&#xff1a;一&#xff09; ███████╗ */#pragma once#include <iostream> #include <vector> #include <deque> #include <cmath> #include <algorithm> …

【YOLOv11-目标检测】06-模型部署(C++)

上一节课,我们学习了模型的预测。那么,如何用C++部署呢? 克隆项目 进入cmd,进入自己的项目文件夹,然后git clone项目: git clone https://github.com/Geekgineer/YOLOs-CPP 进入到YOLOs-CPP文件夹: 配置环境 ONNX Runtime 后续构建项目的时候,会自动下载,因此,我…

【第零章编辑器开发与拓展】

前言&#xff1a;对编辑器拓展与开发可以节省很多时间&#xff0c;提高开发效率&#xff0c;比如技能编辑器&#xff0c;关卡编辑器这种。当然这只是编辑器开发的一些典型应用&#xff0c;它能做不止这些。学习完这个之后&#xff0c;我们可以开发项目需要的工具。我本意在编辑…

使用 mongoimport 导入本地 JSON 文件到 MongoDB 及数据查看指南

在项目中&#xff0c;我们经常需要将本地 JSON 文件批量导入 MongoDB 数据库。本文以 Ubuntu 22.04 环境为例&#xff0c;详细记录了如何安装 mongoimport 工具、正确导入多个 JSON 文件&#xff0c;以及查看导入后的数据。一、环境介绍操作系统&#xff1a;Ubuntu 22.04.5 LTS…

新手向:Python数据处理Excel报表自动化生成与分析

Python实现Excel报表自动化系统全流程指南本文将详细介绍如何使用Python实现一个完整的Excel报表自动化系统&#xff0c;涵盖从数据清洗、分析到可视化报表生成的全流程。本教程面向Python初学者&#xff0c;通过实际案例讲解pandas和openpyxl库的核心用法。系统概述Excel报表自…

【第六节】docker可视化工具portainer安装

该文章参考了这篇文章https://zhuanlan.zhihu.com/p/27740131259portainer是一个基于网页的docker可视化管理工具&#xff0c;试想一下我们怎么登录路由器管理界面的&#xff0c;异曲同工。那么就需要在服务器的docker内安装portainer&#xff0c;然后在我们的开发机或者说工作…

使用 Certbot 申请和自动续签 Let’s Encrypt 的免费 SSL 证书

一. Let’s Encrypt 介绍 Let’s Encrypt 是当前最常用的免费 HTTPS 证书生成工具之一。该服务由非营利组织提供&#xff0c;致力于为全球范围内的网站提供便捷的自动化证书颁发服务。虽然 Let’s Encrypt 证书的有效期只有90天&#xff0c;但是可以自动续期&#xff0c;这使得…

【kubernetes】--controller(DaemonSet)

Kubernetes DaemonSet 控制器详解 它确保集群中所有(或部分)节点上都运行一个 Pod 的副本。当有新节点加入集群时&#xff0c;DaemonSet 会自动在新节点上创建 Pod&#xff1b;当节点从集群中移除时&#xff0c;这些 Pod 也会被垃圾回收。 DaemonSet 的核心特性 每个节点一个 P…

内测分发平台应用的异地容灾和负载均衡处理和实现思路

内测分发平台应用的异地容灾和负载均衡处理和实现思路如下&#xff1a;一、异地容灾1.风险评估和需求分析&#xff1a;对现有的IT基础设施进行全面的风险评估和需求分析&#xff0c;评估潜在风险和灾害的可能性&#xff0c;以及确定业务和数据的关键性。2.设计备份架构&#xf…

【Vue】浏览器缓存 sessionStorage、localStorage、Cookie

嘿&#xff0c;各位 Vue 开发者们&#xff01;今天咱们来好好聊聊浏览器里的三种缓存方式&#xff1a;sessionStorage、localStorage 和 Cookie。在实际开发中&#xff0c;合理运用这些缓存能让我们的应用性能大幅提升&#xff0c;同时避免一些不必要的问题。下面就跟着我的笔记…

c#如何将不同类型的数据存储到一起

在 C# 中&#xff0c;存储不同类型的数据有多种方式&#xff0c;具体选择取决于你的需求&#xff08;类型安全、性能、灵活性等&#xff09;。以下是常见的解决方案及其适用场景&#xff1a;1. 使用 object 类型&#xff08;装箱 / 拆箱&#xff09;将所有数据转换为基类 objec…

超唯美治愈风卡通插画PPT模版

海洋卡通风治愈系PPT模版&#xff0c;儿童可爱治愈可爱PPT模版&#xff0c;治愈风商务通用PPT模版&#xff0c;治愈系课件PPT模版&#xff0c;治愈风插画PPT模版&#xff0c;超唯美治愈风PPT模版&#xff0c;可爱插画治愈系女孩PPT模版 超唯美治愈风卡通插画PPT模版&#xff1a…

el-tooltip 快速滚动的时候出现残影如何解决 vue3

<el-tooltip:disabled"isScrolling" <!-- 新增滚动状态绑定 -->:popper-options"{ modifiers: [{ name: computeStyles, options: { adaptive: false }] }"effect"dark":content"label.name"placement"right-start"…

【经典面经】C++新特性 TCP完整收发数据 TLS1.2 TLS1.3

文章目录cpp新特性C11C14C17C20tcp如何保证完整收发数据结论1. **面向连接的三次握手**2. **字节序号与确认机制**3. **校验和&#xff08;Checksum&#xff09;**4. **超时重传与快速重传**5. **滑动窗口&#xff08;流量控制&#xff09;**6. **数据重组与排序**7. **四次挥手…

Spring AI 系列之十一 - RAG-进阶RetrievalAugmentationAdvisor

之前做个几个大模型的应用&#xff0c;都是使用Python语言&#xff0c;后来有一个项目使用了Java&#xff0c;并使用了Spring AI框架。随着Spring AI不断地完善&#xff0c;最近它发布了1.0正式版&#xff0c;意味着它已经能很好的作为企业级生产环境的使用。对于Java开发者来说…

[TOOL] ubuntu 使用 ffmpeg 操作 gif、mp4

文章目录一、工具安装二、gif 转mp4三、mp4 两倍速一、工具安装 安装 ffmpeg 工具&#xff1a; sudo apt install ffmpeg二、gif 转mp4 1. 配置环境 核心指令: ffmpeg -i input.mp4 -filter_complex "[0:v]setpts0.5*PTS[v];[0:a]atempo2.0[a]" -map "[v]&q…

linux中INIT_MM_CONTEXT宏对pgd的重复赋值

在GNU C中&#xff0c;支持通过标号元素对指定结构体成员名进行初始化&#xff0c;这允许初始化值以任意顺序出现。在linux内核中对init_mm初始化时有如下代码。#define INIT_MM_CONTEXT(name) \.pgd init_pg_dir,struct mm_struct init_mm {.mm_rb RB_ROOT,.pgd swapper…

第十五章 STL(stack、queue、list、set、map容器使用)

栈stack使用&#xff1a;队列queue双向循环链表listlist构造函数list 赋值和交换list 大小操作list 插入和删除list 数据存取list 反转和排序排序算法sort降序操作排序案例#include<iostream> using namespace std; #include<list>class Person { private:string n…

【论文阅读】HCCF:Hypergraph Contrastive Collaborative Filtering

论文出处&#xff1a;SIGIR 2022 CCF-A 论文地址&#xff1a;Hypergraph Contrastive Collaborative Filtering 论文代码&#xff1a;akaxlh/HCCF: HCCF, SIGIR 2022 目录 摘要 介绍 研究背景与核心问题 现有方法局限性 HCCF的创新解决方案 技术优势 定义与相关工作 …

Retrofit+RxJava:打造声明式REST客户端的艺术 —— 像点咖啡一样调用API

目录一、告别Callback地狱&#xff1a;声明式编程的魅力1.1 传统网络请求的痛点1.2 Retrofit的声明式革命二、Retrofit核心配置工厂2.1 构建Retrofit实例2.2 常用注解速查表三、RxJava响应式魔法3.1 链式调用优雅变身3.2 超能力操作符盘点四、实战演练&#xff1a;构建天气查询…