c语言的关键字

c语言的关键字

auto、 break、 case、 char、 const、 continue 、default、 do 、double 、else、 enum 、extern、 float、 for、 goto 、if、 int、 long、 register 、return 、short、 signed、 sizeof、 static、 struct、 switch 、typedef 、union 、unsigned 、void 、volatile 、while总共32个关键字。

几个不常用的关键字:

auto:这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。

extern:此关键字可以置于变量或者函数前,以表明变量或函数定义在其他文件中(注:在c++中extern “C”的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern “C”后,会指示编译器这部分代码按c语言的进行编译,而不是C++的。)

register:此关键字请求编译器尽可能的将变量存在cpu内部寄存器而不是通过内存寻址访问以提高效率。使用时register变量必须是能被CPU所接受的类型,并且长度应小于或等于整形的长度。不能用取地址运算符&获取地址,因为可能变量没有存在内存中(最快的关键字)。

volatile:防止编译器优化,volatile关键字可以用来提醒编译器它后面所定义的变量随时有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。

### C语言关键字概述 C语言包含一组保留字,称为关键字,用于表示编程中的特殊含义。这些关键字不能作为变量名或其他标识符使用。常见的重要关键字包括`auto`, `break`, `case`, `char`, `const`, `continue`, `default`, `do`, `double`, `else`, `enum`, `extern`, `float`, `for`, `goto`, `if`, `int`, `long`, `register`, `return`, `short`, `signed`, `sizeof`, `static`, `struct`, `switch`, `typedef`, `union`, `unsigned`, `void`, `volatile`, `while`等[^1]。 #### 关键字的作用与规则 每个关键字都具有独特的功能和语法规则。例如: - **`typedef`** 是一种用来创建新类型的名称的关键字。通过这种方式可以简化复杂的数据声明,并提高代码的可读性和维护性。需要注意的是,`typedef`是在编译阶段处理而不是预处理器指令的一部分;因此它支持类型检查并且不允许在函数内部定义新的类型别名[^2]。 - **`#define`** 并不是严格意义上的关键字而是预处理命令之一。它的主要目的是执行简单的文本替换操作,在实际编译之前由预处理器完成这项工作。由于这种特性,宏定义不会受到任何语法上的约束直到被真正使用的那一刻才会展开成相应的表达式供后续分析。 - 对于像`char`这样的基本数据类型,默认情况下它们会被视为带符号(`signed`)形式除非特别指定为无符号(`unsigned`)版本。这意味着即使没有显式的说明符存在,字符常量仍然能够存储负数值[^3]。 ```c // 使用 typedef 创建自定义类型别名的例子 typedef unsigned long ulong; ulong value = 42UL; // 宏定义示例 #define PI 3.14159265358979323846 printf("The approximate value of Pi is %f\n", PI); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值