这些是在C语言中定义的保留字(或称为关键字),它们具有特殊的含义,不能用作变量名、函数名或其他标识符。下面是这些保留字的简单解释:
C语言入门课:学姐伴学,高效低价学习新选择! 点击就能购买视频课程~~~~
- auto:自动存储类别说明符,用于声明局部变量(如果不显式指定,局部变量默认为auto)。
- break:用于跳出当前循环或switch语句。
- case:用于switch语句中,表示一个可能的条件。
- char:用于声明字符类型的数据。
- const:用于声明一个常量,该常量的值在程序执行期间不能被修改。
- continue:用于跳过当前循环的剩余部分,并立即开始下一次迭代。
- default:用于switch语句中,当所有case条件都不满足时执行。
- do:用于do-while循环结构。
- double:用于声明双精度浮点数类型的数据。
- else:用于在if语句之后,表示当if条件不满足时要执行的代码块。
- enum:用于声明枚举类型,该类型是一组命名的整数值。
- extern:用于声明在其他地方定义的变量或函数。
- float:用于声明单精度浮点数类型的数据。
- for:用于for循环结构。
- goto:无条件跳转到程序中的另一个标签位置(在现代编程中很少使用)。
- if:用于条件语句。
- int:用于声明整数类型的数据。
- long:用于声明长整数类型的数据。通常与
int
一起使用,如long int
或简写为long
。 - return:用于从函数中返回值。
- short:用于声明短整数类型的数据。通常与
int
一起使用,如short int
或简写为short
。 - signed:用于指定整数类型(如
int
、short
、long
)为有符号的(即可以包含负值)。 - sizeof:是一个运算符,用于获取数据类型或对象在内存中的大小(以字节为单位)。
- register:建议编译器将变量存储在寄存器中(以提高访问速度),但现代编译器通常会自动做此优化,因此该关键字在现代编程中很少使用。
- static:用于声明在函数外部具有文件作用域(但仅在定义它的文件中可见)的变量,或用于声明在函数内部具有函数作用域但具有持久存储(即它们不会在函数调用之间消失)的变量。此外,它还可以用于限制对函数的访问(使其仅在当前文件中可见)。
- struct:用于声明结构体类型,该类型可以包含多个不同类型的数据成员。
- switch:用于多路分支选择结构。
- typedef:用于为数据类型定义新名称(别名)。
- union:用于声明联合体类型,该类型可以包含多个不同类型的数据成员,但一次只能存储一个值。
- unsigned:用于指定整数类型(如
int
、short
、long
)为无符号的(即不能包含负值)。 - void:表示“无类型”。常用于函数的返回类型(表示函数不返回任何值),或作为指针类型(表示通用指针)。
- volatile:告诉编译器不要对该变量的访问进行优化,因为它可能在程序不知道的情况下被改变(例如,由硬件或并发线程)。
- while:用于while循环结构。
以下是为C语言中每个保留字列出的小例子:
-
auto (通常与局部变量一起使用,但现代C中
auto
是默认的,所以通常省略)void function() { int auto_variable = 10; // 实际上,auto是默认的,可以省略 printf("%d\n", auto_variable); }
-
break
#include <stdio.h> int main() { for (int i = 0; i < 5; i++) { if (i == 3) { break; // 当i等于3时,跳出循环 } printf("%d ", i); } return 0; }
-
case
#include <stdio.h> int main() { int day = 3; switch (day) { case 1: printf("Monday\n"); break; case 2: printf("Tuesday\n"); break; case 3: printf("Wednesday\n"); break; // ... 其他情况 default: printf("Invalid day\n"); } return 0; }
-
char
#include <stdio.h> int main() { char ch = 'A'; printf("%c\n", ch); // 输出 A return 0; }
-
const
#include <stdio.h> int main() { const int constant_value = 10; // 不能被修改 // constant_value = 20; // 这行如果取消注释会编译错误 printf("%d\n", constant_value); return 0; }
-
continue
#include <stdio.h> int main() { for (int i = 0; i < 5; i++) { if (i == 2) { continue; // 当i等于2时,跳过当前循环的剩余部分 } printf("%d ", i); // 不会输出2 } return 0; }
-
… (其他保留字示例类似,以下仅列出关键字名称和简短描述)
…
-
unsigned
#include <stdio.h>
int main() {
unsigned int unsigned_var = 4294967295U; // 最大的无符号32位整数
printf("%u\n", unsigned_var);
return 0;
}
- void (作为函数返回类型)
#include <stdio.h>
void myFunction() {
printf("This function does not return a value.\n");
}
int main() {
myFunction();
return 0;
}
- volatile
// 假设有一个硬件寄存器或并发访问的变量
extern volatile int hardware_register;
#include <stdio.h>
void checkRegister() {
printf("Register value: %d\n", hardware_register);
}
// ... 其他代码,可能包括中断服务程序等,它们会修改hardware_register的值
- while
#include <stdio.h>
int main() {
int i = 0;
while (i < 5) {
printf("%d ", i);
i++;
}
return 0;
}
请注意,这些示例仅用于演示保留字的基本用法,并不涉及复杂或高级的C语言特性。