附录A C语言关键字速查表
附录A C语言关键字速查表概述C语言的关键字是语言的保留字具有特殊含义不能用作变量名、函数名或其他标识符。本附录列出了C语言各个标准中的所有关键字。C89/C90标准关键字32个这是最经典的C语言关键字集合所有C编译器都支持。数据类型关键字12个关键字说明示例char字符类型1字节char c A;int整数类型通常4字节int x 10;short短整型修饰符short s 100;long长整型修饰符long l 1000000L;float单精度浮点数4字节float f 3.14f;double双精度浮点数8字节double d 3.14159;signed有符号修饰符默认signed int x;unsigned无符号修饰符unsigned int u 100U;void空类型void func(void);struct结构体类型struct Point { int x, y; };union联合体类型union Data { int i; float f; };enum枚举类型enum Color { RED, GREEN, BLUE };存储类别关键字4个关键字说明示例auto自动存储类别默认很少使用auto int x;static静态存储类别static int count 0;extern外部变量声明extern int global_var;register寄存器存储类别建议register int i;控制流关键字12个关键字说明示例if条件判断if (x 0) { ... }elseif的否则分支if (x) ... else ...switch多分支选择switch (x) { case 1: ... }caseswitch分支标签case 1: printf(one); break;defaultswitch默认分支default: printf(other);forfor循环for (int i 0; i 10; i)whilewhile循环while (x 0) { ... }dodo-while循环do { ... } while (x);break跳出循环或switchbreak;continue跳过本次循环continue;goto无条件跳转不推荐goto label;return函数返回return 0;其他关键字4个关键字说明示例const常量修饰符const int MAX 100;volatile易变修饰符防止优化volatile int flag;sizeof计算类型或变量大小sizeof(int)typedef定义类型别名typedef int Integer;C99标准新增关键字5个C99标准引入了一些新特性和关键字。关键字说明示例inline内联函数建议inline int add(int a, int b) { return a b; }restrict指针限定符优化提示void func(int *restrict p);_Bool布尔类型1字节_Bool flag 1;_Complex复数类型double _Complex z 1.0 2.0*I;_Imaginary虚数类型double _Imaginary im 2.0*I;stdbool.h头文件C99提供了stdbool.h头文件定义了更友好的布尔类型#includestdbool.hbool flagtrue;// 等价于 _Bool flag 1;flagfalse;// 等价于 flag 0;C11标准新增关键字7个C11标准进一步扩展了C语言的功能。关键字说明示例_Alignas指定对齐方式_Alignas(16) int x;_Alignof查询对齐要求size_t align _Alignof(int);_Atomic原子类型线程安全_Atomic int counter 0;_Static_assert编译期断言_Static_assert(sizeof(int) 4, int must be 4 bytes);_Noreturn标记不返回的函数_Noreturn void exit(int status);_Thread_local线程局部存储_Thread_local int tls_var;_Generic泛型选择表达式#define abs(x) _Generic((x), int: abs, float: fabsf)(x)关键字使用规则1. 关键字不能用作标识符// ❌ 错误关键字不能用作变量名intint10;intreturn5;intvoid0;// ✅ 正确使用其他名称intinteger10;intret_value5;intempty0;2. 关键字区分大小写intx10;// ✅ 正确int是关键字Int y20;// ✅ 正确Int不是关键字但不推荐这样命名INT z30;// ✅ 正确INT不是关键字但不推荐这样命名3. 避免使用下划线开头的标识符虽然不是关键字但以下划线开头的标识符通常保留给编译器和标准库// ❌ 避免可能与编译器内部标识符冲突int_internal_var;int__reserved_name;// ✅ 推荐使用普通命名intinternal_var;intreserved_name;编译器扩展关键字不同编译器可能有自己的扩展关键字非标准GCC扩展__attribute__((packed))// 紧凑结构体__attribute__((aligned(16)))// 对齐__asm__// 内联汇编__typeof__// 类型推导MSVC扩展__declspec(dllexport)// DLL导出__declspec(align(16))// 对齐__int64// 64位整数__forceinline// 强制内联关键字速查卡片按功能分类类型相关charintshortlongfloatdoublesignedunsignedvoidstructunionenum_Bool_Complex_Imaginary存储类别autostaticexternregister_Thread_local类型修饰constvolatilerestrict_Atomic控制流ifelseswitchcasedefaultforwhiledobreakcontinuegotoreturn其他sizeoftypedefinline_Alignas_Alignof_Static_assert_Noreturn_Generic常见问题Q1: 为什么有些关键字以下划线开头答C标准委员会为了避免与现有代码冲突新增的关键字通常以下划线和大写字母开头如_Bool、_Atomic。标准库会提供更友好的宏定义如bool、atomic_int。Q2: register关键字还有用吗答现代编译器的优化能力已经非常强大register关键字基本上被忽略。编译器会自动决定哪些变量放入寄存器。Q3: volatile有什么用答volatile告诉编译器变量可能被外部因素改变如硬件、中断、其他线程防止编译器优化掉对该变量的访问。常用于硬件寄存器映射信号处理函数中的全局变量多线程共享变量但更推荐使用_AtomicQ4: const和#define有什么区别答const定义的是变量有类型检查占用内存#define是预处理器宏简单的文本替换不占用内存constintMAX100;// 有类型的常量#defineMAX100// 宏定义参考资料ISO/IEC 9899:1990 (C90)ISO/IEC 9899:1999 (C99)ISO/IEC 9899:2011 (C11)

相关新闻

CC254x低功耗蓝牙开发环境搭建与硬件连接实战指南

CC254x低功耗蓝牙开发环境搭建与硬件连接实战指南

1. 项目概述:从零开始搭建CC254x低功耗蓝牙开发环境如果你正准备踏入低功耗蓝牙(BLE)的硬件开发领域,特别是针对德州仪器(TI)经典的CC254x系列芯片,那么手头有一套功能齐全的开发套件和一个配置…

2026/7/26 7:18:39阅读更多 →
TI CC13xx/CC26xx AUX传感器控制器寄存器深度解析与低功耗实战

TI CC13xx/CC26xx AUX传感器控制器寄存器深度解析与低功耗实战

1. 项目概述与核心价值在物联网和可穿戴设备这类对功耗极其敏感的嵌入式应用里,如何让一颗小小的MCU在“沉睡”与“清醒”之间精准切换,同时还能完成高精度的传感器数据采集和事件计时,是每个嵌入式开发者都要面对的硬核挑战。这背后&#xf…

2026/7/26 7:18:39阅读更多 →
【AI大模型应用开发】【项目实战】27.Agent智扫引擎项目-(二)核心技术基础

【AI大模型应用开发】【项目实战】27.Agent智扫引擎项目-(二)核心技术基础

一.大模型管理工具Ollama 【聊天机器人项目】4.Ollama的安装与使用 【聊天机器人项目】5.ChatBox与Ollama快速搭建ChatBot 【聊天机器人项目】7.结合Ollama,Streamlit实现聊天机器人之在 Python 中使用 Ollama API 二.大模型开发框架LangChain 【AI大模型应用开发】【基础】…

2026/7/26 7:16:38阅读更多 →
Audio2Face+UE5实时驱动MetaHuman表情:完整配置与性能优化指南

Audio2Face+UE5实时驱动MetaHuman表情:完整配置与性能优化指南

1. 项目概述:从声音到表情的实时桥梁最近在折腾一个挺有意思的项目,核心目标是把一段音频,实时地、高质量地驱动一个MetaHuman角色的面部表情。说白了,就是让虚拟人能“开口说话”,而且说得自然、生动。这听起来像是电…

2026/7/26 8:30:59阅读更多 →
WSL2环境配置与优化全指南

WSL2环境配置与优化全指南

1. WSL2环境配置全流程解析作为Windows系统下最受欢迎的Linux开发环境解决方案,WSL2(Windows Subsystem for Linux 2)已经成为开发者必备工具。我在过去三年里为不同团队部署过近百次WSL2环境,今天将完整记录从零开始配置到生产级…

2026/7/26 8:30:59阅读更多 →
大模型技术解析与实战:从训练到部署全指南

大模型技术解析与实战:从训练到部署全指南

1. 大模型技术全景解析 深度学习发展到今天,大模型已经成为AI领域最炙手可热的技术方向。作为从业者,我见证了这个领域从BERT到GPT-3再到如今百花齐放的技术演进。大模型之所以重要,是因为它突破了传统模型的天花板,在NLP、CV、多…

2026/7/26 8:30:59阅读更多 →
CC3220 LaunchPad硬件实战:精准电流测量与射频配置详解

CC3220 LaunchPad硬件实战:精准电流测量与射频配置详解

1. 项目概述与核心价值如果你正在寻找一款能快速上手、功能全面的Wi-Fi物联网开发板,TI的CC3220 SimpleLink LaunchPad开发套件绝对是一个绕不开的选择。我手头这块板子已经陪我完成了好几个智能家居和工业传感的原型项目,从最初的“开箱即用”体验到后期…

2026/7/26 8:30:59阅读更多 →
鸿蒙多功能工具箱开发实战(二十七)-安全加固与数据保护

鸿蒙多功能工具箱开发实战(二十七)-安全加固与数据保护

鸿蒙多功能工具箱开发实战(二十七)-安全加固与数据保护 前言 安全是应用开发的重要考量。本文将讲解HarmonyOS应用的安全加固和数据保护措施。 一、敏感数据保护 1.1 数据加密 import cryptoFramework from ohos.security.cryptoFrameworkexport class CryptoUtil {/*** AES加密…

2026/7/26 8:30:58阅读更多 →
甲方验收南京话标注数据,发现声调标注完全不一致

甲方验收南京话标注数据,发现声调标注完全不一致

摘要随着智能语音产品向方言区下沉,南京话标注需求快速增长,但声调标注不一致成为验收环节的常见痛点。南京话拥有复杂的声调系统,且不同年龄层发音存在差异,导致标注质量难以统一。信实翻译作为国内多家头部AI数据服务商的源头供…

2026/7/26 8:28:54阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/25 23:03:25阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/25 19:03:04阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/25 19:03:04阅读更多 →