c语言之结构体(初阶)

news2024/11/24 19:10:21

目录

1:结构体类型的声明

2:结构体初始化

3:结构体成员访问

4:结构体传参


1:结构体类型的声明

        1:为啥要有结构体,因为当我们描述一个复杂对象的时候,可能平时我们的一个类型不能直接将他给描述清楚,所以我们就引用了结构体,比如人,当我们描述人的时候需要知道,人的名字,身高,性别,年龄......。

        结构是一些值的集合,我们将这些值称为结构体成员变量,每个成员可以是不同类型,我们用vs来描述一个学生:
 

 

 

         结构成员的类型:可以是标量,数组,以及任何类型都可以,还可以是结构体

     2结构体变量的定义与初始化:

    

结构体的定义:语法是

struct 类型名 

{

        成员变量;

};

 

3:结构体成员的访问  有两种方式 1  .     2-->及结构体指针访问操作符

1:对于 .操作符,它有两个操作数   其使用是   操作数1.操作数2 

        其中操作数1 表示结构体变量名   操作数2 表示结构体成员    

    

 下面我们用——>来访问结构体

在这两种操作符中,我们更加倾向于-->操作符,在传参的时候尽量传地址,因为在传参的时候参数需要压栈,并且需要创建形式参数,而形式参数的创建需要消耗我们的内存,所以导致我们使用的空间比较多,耗内存,导致系统的性能降低。

结论:在结构体传参的时候我们传结构体的地址。

         本章初阶就讲完了,感谢大家的观看。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常见的五种排序

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C 🔥座右铭:“不要等到什么都没有了,才下…

批量提取某音视频文案(二)

牙叔教程 简单易懂 之前写过一篇 批量提取某音视频文案 , 在之前的教程中, 我用的是微软的语音转文字功能, 今天我们换个方法, 使用 逗哥配音 的 文案提取 功能 准备工作 下载视频和音频 我在github找到的是这个仓库 https://github.com/Johnserf-Seed/TikTokDownload 注意一…

VLANIF虚接口案例实践

1)拓扑 2)需求: -所有PC能够ping通自己的网关 -实现vlan间互通,实现所有的PC互通 3)配置步骤: 第一步:给pc配置IP地址 第二步:交换机创建vlan,做access和trunk -所有的交换机都配…

传统图形学对nerf的对比与应用落地

作者今年参加了China3DV的盛会,大会的发表、线下讨论、学者、工业界等等的交流着实对于Nerf有了更深的思考,以下是作者的抛砖引玉,如有不当之处敬请指出~ 传统图形学与nerf的简介: 传统图形学:显示表达几何表达方式&…

【CloudCompare教程】010:点云的裁剪功能(分段、裁剪、筛选)

本文讲解CloudCompare点云的裁剪功能(分段、裁剪、筛选)。 文章目录 一、点云的分段二、点云的裁剪三、点云的筛选一、点云的分段 加载案例点云数据,如下图所示: 选中图层点云,点击工具栏中的【分割】工具。 点击【激活线状选择】工具: 在需要裁剪的点云上绘制现状裁剪范…

使用免费的SSL证书将nginx配置的普通网站修改为HTTPS网站

一、需求说明 已经在Centos8系统中使用nginx搭建了网站;但是该网站没有实现HTTPS协议不安全;现需要将网站升级为HTTPS站点。 Linux环境对Nginx开源版源码下载、编译、安装、开机自启https://blog.csdn.net/xiaochenXIHUA/article/details/130265983?spm=1001.2014.3001.5501

chatgpt赋能python:Python交易接口简介

Python交易接口简介 Python作为一种高级编程语言,被广泛用于各种不同的领域,其中包括金融市场交易。Python交易接口提供了一种优雅而简单的方式,使得交易者能够方便地执行自己的交易策略。 什么是Python交易接口? Python交易接…

Effective第三版 中英 | 第2章 创建和销毁对象 | 考虑静态工厂方法而不是构造函数

文章目录 Effective第三版第2章 创建和销毁对象前言考虑静态工厂方法而不是构造函数 Effective第三版 第2章 创建和销毁对象 前言 大家好,这里是 Rocky 编程日记 ,喜欢后端架构及中间件源码,目前正在阅读 effective-java 书籍。同时也把自己…

基于SSM的人才招聘网站

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

模拟实现库函数:strcpy

目录 通过cplusplus网站了解函数功能: 断言assert的使用: 关于const: 本篇你最应该了解的内容: 通过cplusplus网站了解函数功能: 要模拟实现库函数,首先我们需要了解这个函数的参数,函数的…

主机加固介绍

最近公司做服务器安全,开始在市场了解产品,对这一块算是短暂的研究了一段时间,有一点心得给大家分享一下。 主机加固 最近主机加固的概念被炒得火热,主机加固的功能也正在被致力于服务器安全的相关人士所关注。 那么究竟什么是主…

【CVPR2022】CSWin Transformer详解

【CVPR2022】CSWin Transformer详解 0. 引言1. 网络结构2. 创新点2.1 Cross-Shaped Window Self-Attention2.2 Locally-Enhanced Positional Encoding(LePE) 3. 实验总结 0. 引言 Transformer设计中一个具有挑战性的问题是,全局自注意力的计算成本非常高&#xff0…

chatgpt赋能python:Python代码怎么敲:了解Python编程语言

Python代码怎么敲:了解Python编程语言 Python是一种高级编程语言,具有易读易用和高效性等优点。这使得Python成为了程序员的最佳选择,并成为了广泛应用于机器学习、Web开发、数据分析等领域。 Python代码敲法:小技巧 Python代码…

chatgpt赋能python:Python主要语句介绍

Python主要语句介绍 Python是一种广泛使用的高级编程语言,其语法简介、易于学习,并有丰富的库和工具支持。在Python中,主要的语句可以帮助开发人员快速编写代码,实现各种各样的任务。在本文中,我们将介绍Python中的主…

性能优化之高Log file sync等待实战案例分享

故障情况 AWR报告如下: 之后他们把大部分业务停掉后,Log file sync等待事件还是非常高。 通过对比昨天跟今天相同时间的AWR,在业务量小非常多的情况,等待时间还是高非常大。 诊断过程 log file sync等待事件首先判断当前系统IO…

“微商城”项目(1环境搭建)

开发工具分享: 百度网盘: 链接:https://pan.baidu.com/s/1lSsCjf-_zx1ymu6uZeG26Q?pwdhuan 提取码:huan 一、环境搭建说明 本项目服务端环境要求为 Windows Apache PHP MySQL。 下面介绍如何搭建环境,部署服…

CW32系列模数转换器(ADC)

模数转换器(ADC)的主要功能是将模拟量转换为数字量,方便MCU进行处理。下面以CW32L083为例介绍CW系列的模数转换器的特点和功能,并提供演示实例。 一、概述 CW32L083 内部集成一个 12 位精度、最高 1M SPS 转换速度的逐次逼近型模…

位操作符的应用

目录 位操作符的概念: 一、&(按位与):两个整数的补码对应的二进制位有0则为0,两个同时为1才为1,得到的数仍为补码。 二、|(按位或):两个整数的补码对应的二进制位…

Effective第三版 中英 | 第2章 创建和销毁对象 | 当面临多个参数的构造器时考虑使用构建器

文章目录 Effective第三版前言第2章 创建和销毁对象当面临多个参数的构造器时考虑使用构建器 Effective第三版 前言 大家好,这里是 Rocky 编程日记 ,喜欢后端架构及中间件源码,目前正在阅读 effective-java 书籍。同时也把自己学习该书时的笔…

【KKT】∇f(x)+λ∇g(x)=0中λ的讨论

Karush-Kuhn-Tucker (KKT)条件 〇、问题背景 在阅读 Karush-Kuhn-Tucker (KKT)条件 时,不太能理解 ∇ f \nabla f ∇f 的方向,以及 ∇ g \nabla g ∇g 的方向: 为什么 ∇ f \nabla f ∇f 是指向可行域内部, ∇ g \nabla g ∇g…