结构体成员相关知识

简介: 结构体成员相关知识
#define _CRT_SECURE_NO_WARNINGS 1 
#include<stdio.h>
struct s
{
    char c;
    short s;
    double d;
};
struct stu//类型
{
    //结构体成员可以是标量,数组,指针,甚至是其他结构体
    //结构体成员 name    age   id    struct s(其他结构体)
    struct s s;
    char name;
    int age;
    char id;
}s1, s2;//s1,s2是结构体变量的全局变量
//结构体成员访问
//操作符  . 
void print1(struct stu s)//传值调用          ----p43
{
    printf("%d\n", s.s);
}
void prin2(struct stu *ps)
{
    printf("%d\n", ps->s);//传址调用       ------p44
}
int main()
{
    struct stu s = { {'c',20,1.0},"家辉",22,"20000103"};//对象 //用{}初始化,初始化值为"家辉",22...
//内侧{}里是struct s赋予的变量,如将c赋予char c..外侧{}里是struct stu赋予的,如将“家辉”赋予char name
    printf("%c\n", s.s.c);//打印结果为c 
    //因为s.是int main的struct stu s中,,,
    //s.s.是int main的struct stu s的struct s s中,,,
    //s.s.c是int main的struct stu s的struct s s的char c中的值(只有初始值c,所以打印c)
    printf("%c\n",s.name);
    //操作符    ->(有指针的时候用)
    struct stu*ps =&s;//拿出来s地址为&s,放在ps的结构体struct stu中,*表示ps是指针,
    printf("%c\n", (*ps).s.c);//打印结果为c,解地址,使之变为值(用指针代替s访问struct stu s )
    //也可以写成
    printf("%c\n", ps->s.c);//打印结果也为c,不用解地址,->使之变为值(ps为地址,指向ps里面的s)
    print1(s);//传值调用(浪费时间和空间)
    print2(&s);//传址调用(推荐传参用)
               //因为函数传参时,参数压栈,如果传递一个结构体对象,结构体过大,
               //参数的系统开销比较大,会导致性能的下降
    //传值调用,会造成压栈时的浪费
    return 0;
}//每一个函数调用都会在内存的栈区上开辟一个空间


相关文章
|
机器学习/深度学习 人工智能 测试技术
Meta无限长文本大模型来了:参数仅7B,已开源
【4月更文挑战第26天】Meta 研究团队推出7亿参数的MEGALODON,这是一个专为无限长文本序列建模设计的神经网络架构。通过复数指数移动平均(CEMA)和时间步归一化层等技术创新,MEGALODON在效率和准确性上超越Transformer,且在多种基准测试中表现优秀。源代码已开源,为长序列建模提供新工具,但面临资源限制和处理极端长度序列的挑战。[论文链接](https://arxiv.org/pdf/2404.08801.pdf)
322 3
|
数据可视化 Swift 开发者
零一万物开源Yi系列“理科状元”Yi-9B,消费级显卡可跑,魔搭社区最佳实践
零一万物发布并开源了Yi系列中的“理科状元”——Yi-9B,可在魔搭体验
|
小程序 JavaScript
小程序中的数据双向绑定和Vue的有什么区别
小程序中的数据双向绑定和Vue的有什么区别
139 1
|
前端开发 数据可视化 数据挖掘
现代布局方案在商品卡片中的应用实践
现代布局方案在商品卡片中的应用实践
274 2
【ripro美化】全站美化包WordPress RiPro主题二开美化版sucaihu-childV1.9(功能集成到后台)
1、【宝塔】删除ripro文件,上传最新ripro版本,然后上传压缩包内的ripro里面的对应文件到ripro主题对应内覆盖(找到对应路径单个文件去覆盖)。 2、然后上传ripro-chlid子主题美化包到/wp-content/themes路径下 3、注意顺序 原版–>美化包–>后台启用子主题(已启用请忽略)。
502 0
【ripro美化】全站美化包WordPress RiPro主题二开美化版sucaihu-childV1.9(功能集成到后台)
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
1090 0
|
存储 SQL 缓存
Laravel数据查询优化最佳实践
在 Laravel 中,数据库查询是一个常见的任务。为了提高查询的性能和可维护性,我们可以通过自定义查询构造器类来优化数据库查询。本文将详细解析使用 自定义ORM查询构造器类 `CacheBuilder` 和 改造 Laravel 中的 `DB` 类,以使用自定义的查询构造器类 `CacheBuilder` 缓存技巧来优化数据库查询。并详细解释每个方法的意义和改造的原因。
453 0
|
前端开发 安全 应用服务中间件
Axure9官网网页的源代码篡改,自定义为个人开发使用
Axure9官网网页的源代码篡改,自定义为个人开发使用
|
机器学习/深度学习 人工智能 自然语言处理
稀疏模型最新进展!马毅+LeCun强强联手:「白盒」非监督式学习|ICLR 2023
稀疏模型最新进展!马毅+LeCun强强联手:「白盒」非监督式学习|ICLR 2023
541 0
|
缓存 网络协议
从采集到拉流各部分延时概述
从采集到拉流各部分延时概述
159 0
从采集到拉流各部分延时概述