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

C语言,结构体

解决参数过多的情况。一般传参数超4个就要考虑使用结构体。

他的本质是在内存区,截取一段,用于存储变量。

语法

struct  学生                               //   类型是学生
{
char                 姓名[50];       // 8位,-128~127
unsigned  int   年龄 ;
char                 班级[50];
学生1 = {"小红", 18, 大学};        //  直接声明一个变量,并且初始化

union   串口

{

      学生    stu;

      char    提取[104];

} 串口3

串口3.stu = 学生1;                         // 用于内存转换

char[ ]   编码 = 串口3.提取[0];          // 用于内存转换

链表

结构体内,可以放任何类型。

最后一个成员,用自己的类型指针。    //  这样可以像链表一样串起来。指针指向下一个自己

结构体方法

#include <stdio.h>

// 定义结构体,包含函数指针
struct Calculator {
int a;
int b;
int (*add)(struct Calculator*);                        // 1只声明方法类型
int (*multiply)(struct Calculator*);
};

// 实际的函数实现
int add_impl(struct Calculator* calc) {              //  2定义方法体
return calc->a + calc->b;
}

int multiply_impl(struct Calculator* calc) {
return calc->a * calc->b;
}

// 初始化结构体的"方法"
void init_calculator(struct Calculator* calc, int x, int y) {
calc->a = x;
calc->b = y;
calc->add = add_impl;                                 //  3绑定方法
calc->multiply = multiply_impl;
}

int main() {
struct Calculator calc;
init_calculator(&calc, 5, 3);

printf("加法结果: %d\n", calc.add(&calc));      // 输出: 8
printf("乘法结果: %d\n", calc.multiply(&calc)); // 输出: 15

return 0;
}

http://www.dtcms.com/a/406486.html

相关文章:

  • [创业之路-599]:193nm、266nm、355nm深紫外激光器的上下游产业链和相应的国产化公司
  • 安溪住房和城乡规划建设局网站wordpress+左侧菜单
  • Ubuntu 系统中防火墙
  • 摄像头-激光雷达在线标定相机脚本(ROS 版)
  • 做网站建设需要多少钱手机营销软件
  • 360官方网站餐饮网站开发毕业设计模板
  • 从0到1玩转BurpSuite:Web安全测试进阶之路
  • Go-Zero API Handler 自动化生成与参数验证集成
  • Choosing the Number of Clusters|选择聚类的个数
  • golang基础语法(五)切片
  • Golang学习笔记:标准库sync包
  • 【Git】Git 简介及基本操作
  • 网站模版怎么做wordpress 图片 二级域名
  • 点击EDGE浏览器下载的PDF文件总在EDGE中打开
  • 用MATLAB画一只可爱的小熊
  • Matlab通过GUI实现点云的半径滤波(Radius Outlier Removal)
  • 基于MATLAB的8QAM调制解调仿真与BER性能分析
  • 2025年AI证书报考指南:CAIP/华为/谷歌认证
  • 合肥营销型网站建设开发河南城源建设工程有限公司网站
  • 若依 springboot websocket
  • 开源 C# 快速开发(三)复杂控件
  • Visual Studio使用C++配置OpenCV环境,同时添加模板以4.12为例
  • JUnit 4 + Spring Boot 测试依赖
  • HTML应用指南:利用POST请求获取全国索尼体验型零售店位置信息
  • html网站源码 html网页模板下载
  • 做网站接广告了解基本的php wordpress
  • 房地产手机网站模板网站推广公司ihanshi
  • 推荐一个网站
  • 前端可视化第一章:PixiJS入门指南
  • 时间序列分析新视角:单变量预训练 多变量微调