当前位置: 首页 > news >正文

C语言的结构体的认识

注:类似于①、②……是代码的编写顺序,也是对下方代码的注解

        【①】、【②】……是用到了之前的代码

#include <stdio.h>
//②定义生日结构体,必须声明在前面不然会报错,c语言是从上到下执行的(这点要注意) 
typedef struct Birthday
{int year;int month;int day;
} Birthday;// ①定义学生结构体
//其中的生日调用的是【②】 
typedef struct Student
{int id;char *name;int age;double score;Birthday birthday;
} Student ;//③结构体打打印用函数抽取出来
//这里用的是指针,因此在调用的时候需要用到【->】,而不能使用【.】//但是第28行的代码pStu->birthday.year	的birdayth是需要用【.】的,因为指针声明的是学生 
void showInfo(Student *pStu)
{printf("学号:%d\t姓名:%s\t年龄:%d\t分数:%.2f\t生日:%d-%d-%d\n",pStu->id,pStu->name,pStu->age,pStu->score,pStu->birthday.year,pStu->birthday.month,pStu->birthday.day);
}
int main()
{//④这里的stu1与stu2的声明方法,我们可以想象成int a;	int b这样的类型//⑤{...} 花括号里面的内容是给stu1与stu2赋值,顺序如【①】的Student Student stu1 = {1001,"lucy",23,100,2000,3,4};Student stu2 = {1002,"lili",26,99,2010,11,3};//⑥这里是将 stu1的地址赋值给*pStu,【取地址的时候需要加上&】 Student *pStu = &stu1;//⑦这里是调用【③】的打印函数,就是直接打印出stu1的内容,【取值不需要加【&】】 showInfo(pStu);//⑧ 这里是将 stu2的地址重新赋值给*pStu,此时这个指针就不再指向之前的地址 pStu = &stu2;//原理同【⑦】 showInfo(pStu);return 0;
}

 

相关文章:

C语言的结构体的认识

注&#xff1a;类似于①、②……是代码的编写顺序&#xff0c;也是对下方代码的注解 【①】、【②】……是用到了之前的代码 #include <stdio.h> //②定义生日结构体&#xff0c;必须声明在前面不然会报错&#xff0c;c语言是从上到下执行的&#xff08;这点要注意&#…...

只通过在vimrc文件写东西来实现或安装vim的插件

2023年9月23日&#xff0c;周日上午 有时候觉得用插件管理器来安装插件太麻烦了&#xff0c; 所以我就在想能不能只通过在vimrc文件写东西来实现或安装vim的插件&#xff0c; 不过这样做肯定有很大的局限性&#xff0c;但我会尽量做到最好的效果 不定期更新 把下面这些代码…...

云原生Kubernetes:K8S存储卷

目录 一、理论 1.存储卷 2.emptyDir 存储卷 3.hostPath卷 4.NFS共享存储 5.PVC 和 PV 6.静态创建PV 7.动态创建PV 二、实验 1.emptyDir 存储卷 2.hostPath卷 3.NFS共享存储 4.静态创建PV 5.动态创建PV 三、问题 1.生成pod一直pending 2.shoumount -e未显示共享…...

“五育”并举育人体系构建的实践研究课题实施方案

目录 一、研究背景与意义 二、课题理论依据 三、国内外研究情况与现状 四、研究目标...

小样本目标检测:ECEA: Extensible Co-Existing Attention for Few-Shot Object Detection

论文作者&#xff1a;Zhimeng Xin,Tianxu Wu,Shiming Chen,Yixiong Zou,Ling Shao,Xinge You 作者单位&#xff1a;Huazhong University of Science and Technology; UCAS-Terminus AI Lab 论文链接&#xff1a;http://arxiv.org/abs/2309.08196v1 内容简介&#xff1a; 1&…...

Android 10.0 系统开启和关闭黑白模式主题功能实现

1. 概述 在10.0的rom系统开发定制化中,在系统SystemUI的下拉状态栏中,产品开发功能需求要求添加黑白模式功能开关的功能,就是打开黑白模式,系统颜色就会变成黑白颜色, 关闭黑白模式开关系统就会变成彩色模式,所以就需要了解下系统是怎么设置黑白模式和彩色模式的,然后添…...

Linux-VI和VIM

目录 VI的使用 VI的三种模式 进入VI 切换至插入模式&#xff08;Insert mode&#xff09;编辑文件 Insert 的切换 退出VI及保存文件 搜索 快捷删除 光标定位到最后一行 VIM查找字符串 全匹配 模糊匹配&#xff08;正则表达式&#xff09; 快速查找​​​​​​…...

【送书】实现可观测性平台的技术要点是什么?

文章目录 实现可观测性平台的技术要点是什么?兼容全域信号量所谓全域信号量有哪些&#xff1f;统一采集和上传工具统一的存储后台自由探索和综合使用数据总结 实现可观测性平台的技术要点是什么? 随着可观测性理念的深入人心&#xff0c;可观测性平台已经开始进入了落地阶段…...

AUTOSAR汽车电子嵌入式编程精讲300篇-车载网络 CAN 总线报文异常检测

目录 前言 国内外研究现状 车载网络 CAN 总线威胁分析和报文异常检测研究...

基于MUSIC算法的二维超声波成像matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、基本原理 4.2、数学公式 4.3、实现过程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ..........................................…...

Linux0.11——第三回 做好访问内存的最基础准备工作

前面两回是把启动区的代码复制来复制去的&#xff0c;这里我们要讨论的就是操作系统怎么为程序访问内存的方式做初步规划的&#xff1f; 操作系统的代码最开头的 512 字节的数据&#xff0c;先从硬盘的启动区移动到了内存 0x7c00 处&#xff0c;然后又立刻被移动到 0x90000 处…...

unity自己对象池的使用

unity出了自己的对象池 这里记录一下用法 命名空间就是这个 一般有两种用法&#xff0c;第一种是在using里面获取&#xff0c;脱离这个域就释放。第二种是在Get和Release配合使用 // This version will only be returned to the pool if we call Release on it.//只有使用Re…...

el-image 和 el-table冲突层级冲突问题

其中原理&#xff0c;很多博客已经所过了&#xff0c;table组件中使用图片&#xff0c;会出现层级过低问题&#xff0c; 网上大部分解决方式是 使用穿透 // 单元格样式 ::v-deep(.el-table__cell) {position: static !important; }我在此不推荐这种解决方式&#xff0c;原因&a…...

6年Android开发前10月的总结,写给正在求职的安卓开发

进入大厂工作对许多人来说已经是一种挑战&#xff0c;但只要充分准备&#xff0c;很多问题都可以逐步解决。当然&#xff0c;运气也起到了一定的作用&#xff0c;但最终还是与自身的努力密不可分。运气是实力的一部分&#xff0c;因为自助者天助。 每到10月进行总结时&#xff…...

ConcurrentHashMap 的并发度是什么?

ConcurrentHashMap采用了一种基于分离链接的哈希表设计: 分离链接哈希表:在Java 8中,ConcurrentHashMap 内部使用了一个称为分离链接哈希表的数据结构。它的核心思想是,每个哈希桶(bucket)不再是一个单一的槽位,而是一个链表或红黑树(取决于链表的长度),用于存储具有…...

Redis 面霸篇:从高频问题透视核心原理

Redis 为什么这么快&#xff1f; 很多人只知道是 K/V NoSQl 内存数据库&#xff0c;单线程……这都是没有全面理解 Redis 导致无法继续深问下去。 这个问题是基础摸底&#xff0c;我们可以从 Redis 不同数据类型底层的数据结构实现、完全基于内存、IO 多路复用网络模型、线程…...

【100天精通Python】Day69:Python可视化_实战:导航定位中预测轨迹和实际轨迹的3D动画,示例+代码

目录 1. 预测的3D轨迹和实际轨迹的动画图&#xff0c;同时动态更新 2 真值轨迹设置为静态的&#xff0c;预测轨迹不断更新 3 网格的三维坐标系有旋转运动&#xff0c;以此全方位展示预测轨迹和真值轨迹之间的空间关系 1. 预测的3D轨迹和实际轨迹的动画图&#xff0c;同时动态更…...

MySQL中对varchar类型的列进行统计分析

需求1&#xff1a;如何在MYSQL中查找my_data列中所有<5%的数量&#xff0c;my_data为varchar类型 如果my_data列是varchar类型并存储为上面显示的格式&#xff08;如"28.62%“&#xff09;&#xff0c;那么在查找所有小于或等于5%的值时&#xff0c;我们首先需要去掉末…...

mysql索引最左前缀法则、使用场景

提示&#xff1a;mysql索引最左前缀使用的规则&#xff0c;以及索引失效和部分字段索引失效 文章目录 索引使用法则最左前缀法则 索引执行explain分析遵守联合索引最左前缀法则&#xff08;索引有效&#xff09;未遵守联合索引最左前缀法则&#xff08;索引失效或部分索引失效&…...

LeetCode75-06:移动零

移动零 初版(bug) func moveZeroes(nums []int) {if len(nums) 1{return}// 设置两个指针fp1,fp2分别指向第一个元素和第二个元素&#xff0c;// 两种情况// 假如指针fp1指向元素为零// 1) *fp2!0&#xff0c;则交换。// 2) *fp20&#xff0c;则fp2后移,直至*fp2!0,与fp1交换…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)

在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马&#xff08;服务器方面的&#xff09;的原理&#xff0c;连接&#xff0c;以及各种木马及连接工具的分享 文件木马&#xff1a;https://w…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...