Day 22 初识结构体 4.5

结构体是什么

结构体是一些值的集合,值又叫做成员变量,结构体的每个成员可以是不同类型的变量。

结构体成员可以是标量,数组,指针,甚至是其他结构体。

结构体声明,初始化与成员访问。

struct [tag] 
{ 
    member-list 
}[declarators];
//花括号内是成员列表,方括号内是变量列表。
struct Stu
{
	char name[20];//名字
	int age;//年龄
	char sex[8];//性别
	float score;
}s1,s2,s3;
//s1,s2,s3即使通过struct Stu创建的变量。而且是全局变量。
struct Point
{
	int x;
	int y;
}p1 = {10, 15};
//创建的同时初始化。

struct S
{
	char c;
	struct Point sp;//结构体嵌套。
	double d;
	char arr[20];
};

void print1(struct S s)
{
	printf("%c\n", s.c);
	printf("%d %d\n", s.sp.x, s.sp.y);
	printf("%lf\n", s.d);
	printf("%s\n", s.arr);
}
//这种方式形参的空间占用过大。和结构体总体大小一致。

void print2(struct S* ps)
{
	printf("%c\n", ps->c);
	printf("%d %d\n", ps->sp.x, ps->sp.y);
	printf("%lf\n", ps->d);
	printf("%s\n", ps->arr);
}
//这种方式形参只会占用4/8个字节。所以通常用这种方式。

int main()
{
	struct Point p = {100, 200};
	struct S ss = { 'w', {100,20}, 5.5, "hello"};
    //结构体初始化。

	//ss.c = 'b';
	//ss.sp.x = 1000;
	//ss.sp.y= 2000;
	//ss.d = 3.14;
	//strcpy(ss.arr, "world");
    //放置值。
    
	print1(ss);//打印struct S类型的变量
	print2(&ss);//

    //结构体访问操作符:
    //.    结构体变量.结构体成员。
    //->   结构体指针->结构体成员。

	return 0;
}

typedef

用于类型重命名/重定义。

typedef struct Stu Stu;


结构体类型的声明
typedef struct Stu
{
	char name[20];//名字
	int age;//年龄
	char sex[8];//性别
	float score;
}Stu;
//这里的Stu是把结构体重命名成Stu。

int main()
{
	struct Stu s4;
	struct Stu s5;
	Stu s6;
//这样就可以省略struct。

	return 0;
}

内容概要:本文档详细介绍了如何在MATLAB环境下实现CNN-GRU(卷积门控循环单元)混合模型的多输入单输出回归预测。项目旨在通过融合CNN的局部特征提取能力和GRU的时序依赖捕捉能力,解决传统序列模型在处理非线性、高维、多输入特征数据时的局限性。文档涵盖了项目背景、目标、挑战及其解决方案,强调了模型的轻量化、高效性和可视化全流程追踪等特点。此外,还提供了具体的应用领域,如智能电网负荷预测、金融时间序列建模等,并附有详细的代码示例,包括数据加载与预处理、网络结构定义、训练选项设置、模型训练与预测以及结果可视化等步骤。; 适合人群:对深度学习有一定了解,特别是对时间序列预测感兴趣的科研人员或工程师。; 使用场景及目标:①需要处理多输入单输出的非线性回归预测任务;②希望在MATLAB平台上快速实现并优化深度学习模型;③寻求一种高效、轻量且具有良好泛化能力的预测模型应用于实际场景中,如智能电网、金融分析、交通流量预测等领域。; 阅读建议:由于文档内容涉及较多的技术细节和代码实现,建议读者先熟悉CNN和GRU的基本概念,同时掌握MATLAB的基础操作。在阅读过程中,可以结合提供的代码示例进行实践操作,以便更好地理解和掌握CNN-GRU混合模型的构建与应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值