C

C 语言关键字

C 语言(C11/C17)保留关键字速查。

本地处理 · 不上传

加载工具中…

相关:C关键字 · C保留字 · sizeof · static · volatile

C 语言关键字速查列出该语言的全部保留字及其含义与典型用法。含各标准版本引入的关键字,如 _Bool、restrict、_Atomic。

使用步骤

  1. 按控制流、类型、存储类等分类定位关键字
  2. 看清它属于哪个标准版本引入
  3. 确认自己的编译器标准参数是否覆盖该版本
  4. 关键字不能当变量名,命名冲突时改名而不是加下划线绕开

使用场景

  • 确认某个标识符是否为保留字
  • 学习 C 语言 时查阅语法
  • 阅读他人代码时对照
  • 代码审查中的参考

小贴士

  • static 在不同位置含义完全不同:修饰全局变量或函数时限制作用域为当前文件,修饰局部变量时延长其生命周期。
  • volatile 告诉编译器该变量可能被程序外部改变,禁止相关优化。它常被误用于多线程同步,但它并不提供原子性保证。
  • const 修饰指针时位置很关键:`const char *p` 是内容不可改,`char * const p` 是指针本身不可改。

常见问题

static 到底是什么意思?

取决于位置。修饰全局变量或函数时表示「仅在本文件可见」;修饰局部变量时表示「生命周期延长到整个程序运行期,但作用域不变」。同一个关键字承担了两种不相关的含义。

volatile 能用于多线程吗?

不能作为同步手段。它只禁止编译器优化对该变量的读写,不提供原子性也不建立内存序。多线程同步应使用原子类型或互斥锁。这是 C 语言中常见的误解。

const 的位置有什么讲究?

`const char *p` 表示指向的内容不可修改,指针可以指向别处;`char * const p` 表示指针本身不可改变指向,但内容可改。读的时候从右往左念能帮助理解。

C 语言关键字是免费的吗?

是。本站所有工具完全免费,无需注册登录、无广告干扰,打开即用。

使用C 语言关键字,我的数据安全吗?

安全。该工具在你的浏览器本地完成处理,输入内容不会上传到服务器,隐私更有保障。