鹏哥C语言83-85---结构体声明+初始化+访问+传参

embedded/2024/10/21 15:53:40/

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <string.h>

//---------------------------------------------------------------------------------------------------BIT-7-结构体
1.结构体的声明
     1.1结构的基础知识
     1.2结构的声明
     1.3结构成员的类型
     1.4结构体变量的定义和初始化
2.结构体成员的访问
3.结构体传参

//-----------------------------------------------------------------------------------------------------1.结构体的声明

//--------------------------------------------------------------------------------------------1.1结构的基础知识
结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。

//--------------------------------------------------------------------------------------------1.2结构的声明
结构体类型的声明

struct Peo
{char name[20];//名字char tele[12];   //电话号char sex[5];     //性别int hign;          //身高
}p1, p2;   //p1,p2是利用 struct Peo 结构体类型所创建的2个变量,是全局变量

//尽量少用全局变量,故

struct Peo
{char name[20];char tele[12];  char sex[5];    int hign;        
};  

//结构的嵌套

struct St
{struct Peo p;int num;float f;
};
int main()
{struct Peo p1; //结构体变量的创建//  struct Peo----结构体类型//  p1-----结构体变量return 0;
}

//--------------------------------------------------------------------------------------------1.3结构成员的类型
结构的成员可以是标量、数组、指针,甚至是其他结构体。
//---------------------------------------------------------------------------------1.4结构体变量的定义和初始化
//-------------------------------结构体变量的创建

struct Peo
{char name[20];char tele[12];  char sex[5];    int hign;          
}p2, p3; //----全局变量struct Peo p4, p5; //----全局变量int main()
{struct Peo p1; //结构体变量的创建----局部变量return 0;
}
struct Peo
{char name[20];char tele[12];char sex[5];int high;
};
struct St
{struct Peo p;int num;float f;
};

//-----------------------------------------------------------------------------------------------2.结构体成员的访问
结构体成岩访问的操作符(2个 )
操作符1------结构体变量 . 成员变量
操作符2------结构体指针->成员变量

void print1(struct Peo p)
{printf("%s %s %s %d\n", p.name, p.tele, p.sex, p.high); //  结构体变量 . 成员变量
}
void print2(struct Peo* sp)
{printf("%s %s %s %d\n", sp->name, sp->tele, sp->sex, sp->high); // 结构体指针->成员变量}
int main()
{//----------------------------------------------------------------------------结构体变量的初始化+打印//结构体变量的初始化struct Peo p1 = { "张三","13633552404","男",181 };  //结构体嵌套的初始化struct St s = { {"李四","18822732292","女",166},100,3.14 };  //浮点数在内存中,不能精确保存//结构体的打印printf("%s %s %s %d\n", p1.name, p1.tele, p1.sex, p1.high);printf("%s %s %s %d %d %f\n", s.p.name, s.p.tele, s.p.sex, s.p.high, s.num, s.f);//-----------------------------------------------------------------------------------------------------------3.结构体传参    //传结构体  变量本身print1(p1); //传结构体  地址print2(&p1);//传参首选print2//因为函数传参时,函数是需要压栈的//如果传递一个结构体对象的时候,结构体过大,参数压栈的的系统开销比较大,所以会导致性能的下降//因此:结构体传参的时候,要传结构体的地址。return 0;
}


http://www.ppmy.cn/embedded/129307.html

相关文章

基于springboot vue的音乐播放系统设计与实现

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

【C++刷题】力扣-#228-汇总区间

题目描述 给定一个整数数组 nums&#xff0c;返回所有唯一的区间&#xff0c;这些区间包含数组中的每个数字&#xff0c;形式为 [a, b]&#xff0c;其中 a 和 b 是数字的最小和最大值。 示例 示例 1: 输入: nums [0,1,2,4,5,7] 输出: [["0,2"],["4,5"],…

软件压力测试如何进行?深圳软件测试机构分享

软件压力测试是每个重要软件测试工作的一部分&#xff0c;是一种基本的软件质量保证行为。压力测试不是在常规条件下运行手动或自动测试&#xff0c;而是在计算机数量较少或系统资源匮乏的条件下运行测试。通常要进行软件压力测试的资源包括内部内存、CPU 可用性、磁盘空间和网…

HTTP和HTTPS(一)

一.什么是HTTP HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的 应用层协议. 超文本是一种包含了链接、图像、音频、视频等多种形式的信息载体&#xff0c;它不仅仅是简单的文本内容。超文本通过链接将不同的信息片段连接在一起&#xff0c;使得用户可以通过点击链接轻…

无人机之云台电机篇

一、云台电机的定义 云台电机是一种能够控制相机或摄像机角度变化的电机&#xff0c;通过控制电机的运动&#xff0c;相机或摄像机可以水平、垂直或全方位转动。云台电机主要由电机、控制电路和控制程序组成&#xff0c;其运动由电机和控制器协同作用实现。 二、云台电机的类型…

css预编译器-Sass常用命令详解

一、简介 作为CSS 预编译器之一&#xff0c;它允许开发者使用更高级的语法和功能来编写 CSS&#xff0c;并在编译过程中将其转换为标准的 CSS 代码。 介绍之前我们先想想几个问题&#xff1a; 为什么要使用sass&#xff1f;sass有什么好处&#xff1f;是否需要学习它&#x…

GEE图表:利用MODIS的LST数据进行每年和每年第一景的LST的图表加载

目录 简介 数据 函数 ui.Chart.image.series(imageCollection, region, reducer, scale, xProperty) Arguments: Returns: ui.Chart 代码 结果 简介 GEE图表:利用MODIS的LST数据进行每日和每周的LST的图表加载 数据 MODIS/061/MOD11A1是MODIS地表温度数据集中的一个…

SpringBoot+Vue+Uniapp智能社区服务小程序系统(源码+lw+部署文档+讲解等)

项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不是配置文件。Spring Boot 通过自动化配置和约…