指针,数组,函数,三者的恩恩怨怨

本文详细解析了指针数组、数组指针、函数指针等概念,并进一步介绍了函数指针数组及函数指针数组的指针,通过实例帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:指针数组

“指针数组”首先是一个数组,存储的是指针。例如:

int  *p[10];

        对于这条语句,我们知道下标引用的优先级高于间接访问,所以他首先执行下标引用。因此,p是一个某种类型的数组,这个数组有10个元素。在取得数组的一个元素后随即进行间接访问操作,我们得到一个整型值。所以,p是一个数组,他的元素类型是指向整形的指针。


二:数组指针

 “数组指针”首先是一个指针,指向的是数组。例如:

int  (*p)[10];

   对于这条语;因为括号的存在,所以间接访问的优先级高,所以它是一个指针。接下来是下标引用,所以p指向整型数组。


三:函数指针

  函数指针是指向函数的指针,他指向函数。有了指向函数的指针变量后,可以用该指针变量调用函数。

int fun (int x); //声明一个函数;

int (*f)(int x);//声明函数指针;

f = fun;//将函数fun首地址赋值给函数指针;

或者:f = &fun;//把函数地址赋值给函数指针。

例子:下面三个表达式代表什么意思?

A ):char * (*fun1)(char * p1,char * p2)

B )  :char * *fun2(char * p1,char * p2);

C )  :char * fun3(char * p1,char * p2):

c):fun3是函数名,p1,p2是类型为char *的参数,函数的返回值类型是char *

B):与c相比,不同的是函数的返回值类型是char * *

A):这里fun1不是函数,而是指针变量,他指向一个函数,。这个函数有两个指针型参数,返回值也是一个指针。

四:函数指针数组

我们清楚char *(*pf)(char *p)定义的是一个函数指针。既然pf是指针,那么就可以存在数组里面。把该表达式修改一下:

char *(*pf[3])(char *p),这就是 定义了一个函数指针数组。pf是一个数组,数组存放3个指针,每个指针指向一个参数类型为指向字符的指针,返回类型为指向字符的指针的函数。

五 :函数指针数组的指针

函数指针数组的指针其实就是一个指针,只不过他指向一个数组,数组里存放的是指向函数的指针。

例如:char *(*(*pf)[3])(char *p)

pf是一个指针,指向一个包含3个元素的数组,这个数组存放的是指向函数的指针,这些指针指向一些参数类型为指向字符的指针,返回类型是指向字符的指针的函数。


内容概要:本文档详细介绍了一个基于MATLAB实现的电力负荷预测项目,该项目运用遗传算法(GA)优化支持向量回归(SVR)和支持向量机(SVM)模型的超参数及特征选择。项目旨在解决电力系统调度、发电计划、需求侧响应等多个应用场景中的关键问题,特别是在应对高比例可再生能源接入带来的非线性、非平稳负荷预测挑战。文中涵盖了从数据接入、特征工程、模型训练到部署上线的全流程,包括详细的代码示例和GUI设计,确保方案的可复现性和实用性。 适用人群:具备一定编程基础,尤其是熟悉MATLAB语言和机器学习算法的研发人员;从事电力系统调度、电力市场交易、新能源消纳等相关领域的工程师和技术专家。 使用场景及目标:①通过构建面向小时级别的滚动预测,输出高分辨率负荷轨迹,为日内与日前滚动调度提供边际成本最小化的依据;②在负荷高峰和供给紧张时,通过价格信号或直接负荷控制实施需求侧响应,提升削峰效率并抑制反弹;③为灵活性资源(调峰机组、储能、可中断负荷)提供更清晰的出清路径,降低弃风弃光率,提升系统整体清洁度;④帮助市场主体更准确地评估边际出清价格变化,提高报价成功率与收益稳定性,同时降低由预测偏差带来的风险敞口;⑤在运维与审计场景中,对预测产生的原因进行说明,保障业务侧与监管侧的可追溯性。 阅读建议:此资源不仅提供了完整的代码实现和GUI设计,更注重于理解GA优化过程中涉及到的数据处理、特征构造、模型选择及评估等核心步骤。因此,在学习过程中,建议结合实际案例进行实践,并深入研究每个阶段的具体实现细节,特别是适应度函数的设计、超参数空间的定义以及多样性维护机制的应用。此外,关注项目中关于数据对齐、缺失值处理、特征标准化等方面的最佳实践,有助于提高模型的鲁棒性和泛化能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值