STM32 static void、extern void、void

一、 void(单纯返回类型)

表示函数不返回任何值

复制代码
void function_name(int x) {
    // 函数体
    // 不需要return语句,或者可以用 return;(不返回值)
}

二、static void(静态函数)

表示函数不返回值 且具有内部链接 特性:

只能在当前文件中访问

不会与其他文件中的同名函数冲突

常用于实现文件内部的辅助函数

复制代码
// 文件1.c
static void helper(void) {
    // 这个函数只在文件1.c中可见
}

// 文件2.c
static void helper(void) {
    // 这是另一个完全独立的函数,与文件1.c中的helper不冲突
}

三、extern void(外部函数声明)

表示函数不返回值 且是在其他文件中定义的

告诉编译器:这个函数在其他地方定义

通常在头文件或使用前声明外部函数时使用

复制代码
// 声明外部函数(通常在头文件中)
extern void external_function(int x);

// main.c
#include "functions.h"
int main() {
    external_function(10);  // 函数实现在另一个文件
    return 0;
}

四、重要注意事项

**extern通常可以省略:**函数默认就是extern的

复制代码
extern void func(void);  // 显式extern
void func(void);         // 隐式extern(两者等效)

**static函数不能被其他文件访问:**提供了封装性

**static也影响变量:**对于变量,static有不同的含义(改变存储期和作用域)

组合使用:可以与其他修饰符组合

复制代码
static inline void func(void)  // 静态内联函数
相关推荐
weixin_4568083825 分钟前
【沁恒蓝牙开发】ADC DMA定时采样、转化
单片机·嵌入式硬件
华普微HOPERF1 小时前
MCU+BLE射频+丰富外设,BLE SoC如何高效传输数据?
单片机·嵌入式硬件
振南的单片机世界1 小时前
时钟开关:不用的外设,把它的时钟关掉,省电!
stm32·单片机·嵌入式硬件
金色光环1 小时前
SCPI添加错误码
stm32·scpi
iCxhust2 小时前
将8088 BootLoader分拆烧写到8086 ROM中
stm32·单片机·嵌入式硬件·51单片机·微机原理
国科安芯2 小时前
商业航天电机控制领域抗辐射 MCU 芯片应用研究
网络·单片机·嵌入式硬件·安全性测试
charlie1145141913 小时前
嵌入式C++工程实践第20篇:GPIO 输入模式内部电路 —— 芯片是如何“听“到外部信号的
开发语言·c++·stm32·单片机
三佛科技-134163842124 小时前
PD65W快充电源方案LP8841SD+LP35118N(高频QR反激、BOM简洁,小体积,过认证)
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
三佛科技-187366133975 小时前
LP9962AA 集成PFC和高压半桥驱动的LLC谐振控制器(内置碳化硅芯片)
单片机·嵌入式硬件
一味做笔记6 小时前
关于stm32勾选enable烧录失败
stm32·单片机·嵌入式硬件