黑马程序员———C语言回顾之extern和static

本文详细介绍了C语言中内部函数与外部函数的概念及应用,包括如何使用extern和static关键字来控制函数的作用域;同时,还探讨了内部变量与外部变量的区别,以及extern和static如何修饰全局变量。
------- Android培训Java培训IOS培训.NET培训 期待与您交流! ----------

一、extern和static修饰函数

1、什么是内部函数和外部函数

  • 内部函数:定义为内部函数,此函数只能被本文件访问,不能被其他文件访问
  • 外部函数:定义为外部函数,此函数能被本文件和其他所有文件访问,默认情况下所有函数都是外部函数

2、extern使用注意

我们用extern来修饰外部函数,默认情况下可以省略,使用如下:

eg:

// extern关键字修饰函数
extern void test();

int main()
{
    // 调用test函数
    test();
    return 0 ;
}

void test()
{
    printf("i love you \n");
}

3、static使用注意

用static关键字修饰内部函数时,允许不同文件中有同名的内部函数

eg:

// static关键字修饰内部函数
static void haha();

int main()
{
     // 调用haha函数
    haha();
    return 0;
}
static void haha()
{
    printf("i love you \n");
}

二、static和extern关键字修饰变量

1、什么是内部变量和外部变量

  • 外部变量:定义的变量能被本文件和其他文件访问,默认情况下所有的全局变量都是外部变量,外部变量可以同名
  • 内部变量:定义的变量只能在本文件中访问

2、extern关键字修饰全局变量

用extern关键字修饰全局变量表示声明一个外部变量

eg:


// extern 关键字修饰变量

// extern 关键字修饰变量表示声明一个外部变量
extern int a;

int main()
{
     a  = 10;
     printf("a=%d\n",a);
     return 0;
}
int a;

3、static关键字修饰全局变量

用static关键字修饰全局变量表示这个变量只能在文件中使用

eg:

// static 关键字修饰全局变量

static int b;

int main()
{
    b = 100 ;
   
    printf("我的成绩是:%d \n",b);
    return 0;
}




内容概要:本文提出了一种基于融合鱼鹰算法柯西变异的改进麻雀优化算法(OCSSA),用于优化变分模态分解(VMD)的参数,进而结合卷积神经网络(CNN)与双向长短期记忆网络(BiLSTM)构建OCSSA-VMD-CNN-BILSTM模型,实现对轴承故障的高【轴承故障诊断】基于融合鱼鹰柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)精度诊断。研究采用西储大学公开的轴承故障数据集进行实验验证,通过优化VMD的模态数惩罚因子,有效提升了信号分解的准确性与稳定性,随后利用CNN提取故障特征,BiLSTM捕捉时间序列的深层依赖关系,最终实现故障类型的智能识别。该方法在提升故障诊断精度与鲁棒性方面表现出优越性能。; 适合人群:具备一定信号处理、机器学习基础,从事机械故障诊断、智能运维、工业大数据分析等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决传统VMD参数依赖人工经验选取的问题,实现参数自适应优化;②提升复杂工况下滚动轴承早期故障的识别准确率;③为智能制造与预测性维护提供可靠的技术支持。; 阅读建议:建议读者结合Matlab代码实现过程,深入理解OCSSA优化机制、VMD信号分解流程以及CNN-BiLSTM网络架构的设计逻辑,重点关注参数优化与故障分类的联动关系,并可通过更换数据集进一步验证模型泛化能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值