news 2026/7/12 10:05:24

STM32 C语言声明说明符

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
STM32 C语言声明说明符

1.typedef- 类型定义

typedef int size_t; // 为int创建别名size_t typedef struct {int x; int y;} Point; // 为匿名结构体定义别名 typedef char* String; // 为char*定义别名

作用:创建类型别名,提高代码可读性和可维护性

2.const- 常量定义

const int MAX_SIZE = 100; // 定义常量 const char* str = "hello"; // 指向常量的指针 char* const ptr = buffer; // 常量指针 const char* const cp = "const"; // 指向常量的常量指针

作用:定义不可修改的值,提高程序安全性和可读性

3.static- 静态存储类别

static int counter = 0; // 静态局部/全局变量 static void helper() { } // 静态函数(文件作用域)
  • 函数内:保持变量值在函数调用间不变

  • 文件作用域:限制变量/函数仅在当前文件可见

  • 类成员(C++):类级别的共享变量

4.extern- 外部声明

extern int global_var; // 声明外部定义的变量 extern void external_func(); // 声明外部定义的函数

作用:声明在其他文件中定义的变量或函数,实现跨文件访问

5.volatile- 易变变量

volatile int* hardware_reg; // 硬件寄存器 volatile sig_atomic_t flag; // 信号处理中使用的变量

作用:告诉编译器变量可能被意外修改,避免编译器优化

6.register- 寄存器变量

register int i; // 建议编译器将变量放入寄存器

作用:建议编译器将变量存储在寄存器中

7.auto- 自动变量

auto int local_var = 10; // 自动存储期

作用:定义自动存储期的局部变量

8. signed/unsigned- 有符号/无符号修饰

signed int si = -10; // 有符号整型(默认) unsigned int ui = 10; // 无符号整型 unsigned char byte = 255; // 无符号字符
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/6 12:32:41

CosyVoice-300M Lite极速部署:适用于50GB磁盘环境

CosyVoice-300M Lite极速部署:适用于50GB磁盘环境 1. 引言 随着语音合成技术(Text-to-Speech, TTS)在智能客服、有声读物、语音助手等场景的广泛应用,对模型轻量化和部署效率的需求日益增长。尤其是在资源受限的边缘设备或低成本…

作者头像 李华
网站建设 2026/7/11 16:34:32

权限越权操作阻断机制测试:软件测试从业者的全面指南

权限越权操作的定义与测试必要性‌ 权限越权操作(Privilege Escalation)指用户通过非法手段获取超出其授权范围的系统权限,例如普通用户尝试访问管理员功能或窃取他人数据。在当今数字化时代,这类漏洞是安全事件的主要根源&#…

作者头像 李华
网站建设 2026/6/26 12:32:49

Matlab——图形四周突出的刻度线消失

要让 MATLAB 图形四周突出的刻度线(Tick Marks)消失,最直接的方法是将刻度线的长度设置为 0。set(gca, TickLength, [0, 0]); % 隐藏所有刻度线

作者头像 李华
网站建设 2026/7/2 6:00:13

医疗AI诊断赛道竞争白热化 美国三巨头扎堆推出AI健康工具

2026年刚进入一月,OpenAI​、谷歌、Anthropic 三家美国科技巨头在短短数日内便相继发布专业化医疗 AI 功能,这一密集动作凸显行业竞争加剧,竞争趋于白热化。2026年刚进入一月,OpenAI、谷歌、Anthropic 三家美国科技巨头在短短数日…

作者头像 李华