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)  // 静态内联函数
相关推荐
布子麟4 分钟前
NodeMcu(ESP8266)之WIFI基础应用 +AT透传
单片机·嵌入式硬件
嵌入式小站9 分钟前
STM32 可移植教程 03:USART 串口通信——让开发板能“对话“(实战篇)
stm32·单片机·嵌入式硬件
踏着七彩祥云的小丑1 小时前
嵌入式测试学习第35 天:蓝牙、WiFi嵌入式设备测试基础概念
单片机·嵌入式硬件·学习
CQU_JIAKE2 小时前
6.13【A】
单片机·嵌入式硬件
Mr..Jackey10 小时前
瑞佑 RUI Builder 图形化 UI 设计工具
arm开发·人工智能·单片机·ui·人机交互·ra8889·lcd控制芯片
西城微科方案开发14 小时前
多品类电子秤一体化PCBA整体方案
单片机·嵌入式硬件·电子秤
火花页.14 小时前
【正点原子ZYNQ领航者7020】PS端GPIO中断→按键控制LED实验
单片机·嵌入式硬件
ye1501277745514 小时前
4.2V升6V1A同步升压WT3213
单片机·嵌入式硬件·其他·硬件工程
嵌入式小站15 小时前
STM32 可移植教程 02:按键状态机,消抖、长按、释放一行也不用多写(实战篇)
chrome·vscode·stm32·单片机·嵌入式硬件
Szime16 小时前
AD9694 国产替代方案:四通道高速 ADC 在通信与雷达项目中的选型参考
单片机·嵌入式硬件·fpga开发