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)  // 静态内联函数
相关推荐
智购科技自动贩卖机9 小时前
自动售货机嵌入式状态机设计实战:从45个事件源到层次型状态机的工程重构
大数据·人工智能·stm32·物联网·重构·硬件架构
长江后浪博客9 小时前
ESP32-SOLO-1 在 ESP-IDF v5.5 下启动不断重启问题分析与解决
单片机·嵌入式硬件·嵌入式·esp32·freertos·esp-idf
单片机仿真设计10 小时前
【proteus仿真】基于 STM32 单片机智能仓库设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
星游路10 小时前
单片机·电子时钟
单片机·嵌入式硬件
AOI小白新手上路14 小时前
江科协51单片机 7-2 LCD1602显示时钟实验
单片机·嵌入式硬件·51单片机
runningshark14 小时前
SC32L14GR8PJR
单片机·嵌入式硬件
智购科技无人售货机厂家14 小时前
2026自动售货机备用电池管理系统设计:从充放电保护到健康监测的工程实践~YH
大数据·linux·单片机·嵌入式硬件·微信
智购无人售货机厂家15 小时前
2026自动售货机软硬件版本管理策略:从版本号规范到兼容性矩阵的工程实践~YH
运维·服务器·人工智能·单片机·嵌入式硬件·线性代数·矩阵
花 满 楼15 小时前
RISC-V APLIC 中断模块总结——第二篇
单片机·嵌入式硬件·mcu·risc-v
无损检测小白白16 小时前
【嵌入式面试题一】
c语言·单片机