标签:line float return 浮点型 def 表示 原创文章 指定 布尔
关键字也称为保留字,C89标准有32个,这些单词在C语言中有特别的含义,程序员不能把它用于变量或函数的命名。 auto:声明自动变量。
break:跳出当前循环。
case:开关语句分支。
char:声明字符型变量或函数返回值类型。
const:声明只读变量。
continue:结束当前循环,开始下一轮循环。
default:开关语句中的“默认”分支。
do:循环语句的循环体。
double:声明双精度浮点型变量或函数返回值类型。
else:条件语句否定分支(与if连用)。
enum:声明枚举类型。
extern:声明变量或函数是在其它文件或本文件的其他位置定义。
float:声明浮点型变量或函数返回值类型。
for:一种循环语句。
goto:无条件跳转语句。
if:条件语句。
int:声明整型变量或函数。
long:声明长整型变量或函数返回值类型。
register:声明寄存器变量。
return:子程序返回语句(可以带参数,也可不带参数)。
short:声明短整型变量或函数。
signed:声明有符号类型变量或函数。
sizeof:计算数据类型或变量长度(即所占字节数)。
static:声明静态变量。
struct:声明结构体类型。
switch:用于开关语句。
typedef:用以给数据类型取别名。
unsigned:声明无符号类型变量或函数。
union:声明共用体类型。
void:声明函数无返回值或无参数,声明无类型指针。
volatile:说明变量在程序执行中可被隐含地改变。
while:循环语句的循环条件。
C语言的关键字无需背诵,如果程序用不小心用了关键字给变量命名,编译时会报错,用多了就熟悉了。
1999年12月16日,ISO推出了C99标准,该标准新增了5个C语言关键字:
1)_Bool:布尔类型,用来表示真或假,零表示假,非零表示真。所有非零的数赋值给布尔型变量,最终的值还是1。
2)_Complex、_Imaginary:复数类型和虚数类型,C99提供了三种复数类型和虚数类型:float _Complex,double _Complex,long double _Complex和float _Imaginary,double _Imaginary,以及 long double _Imaginary。复数类型包括一个实部和一个虚部,虚数类型没有实部,只有虚部。
3)restrict:用来限定指针,表明指针是访问一个数据对象的唯一且初始化对象。作用是告诉编译器除了该指针,其他任何指针都不能对所指向的数据进行存取,以便编译器优化代码。
4)inline:内联函数,是为了解决C预处理器宏存在的问题所提出一种解决方案,用来提高函数使用效率。内联函数使用inline关键字定义,并且函数体和申明必须结合在一起,否则编译器将他作为普通函数对待。
2011年12月8日,ISO发布C语言的新标准C11,该标准新增了7个C语言关键字:
1)_Alignas:设置内存中对齐方式,最小是8字节对齐,可以是16,32,64,128等。
2)_Alignof:查询其运算数类型的对齐要求的运算符。
3)_Atomic:原子类型说明符和限定符。并发程序设计把程序执行分成可以同时执行的多个线程。这给程序设计带来了新的挑战,包括如何管理访问相同数据的不同线程。C11通过包含可选的头文件stdatomic.h和threads.h,提供了一些可选的(不是必须实现的)管理方法。值得注意的是,要通过各种宏函数来访问原子类型。当一个线程对一个原子类型的对象执行原子操作时,其他线程不能访问该对象。
4)_Static_assert:静态断言,用于编译期间的断言。
5)_Noreturn:用于函数声明中,指定函数不会由于执行到 return 语句或抵达函数体结尾而返回(可通过执行 longjmp 返回)。若声明 _Noreturn 的函数返回,则行为未定义。若编译器能检测此错误,则推荐编译器诊断。
6)_Thread_local:提供了线程内存储变量的能力,这些变量不同之处在于每一个线程读取的变量是对应的互相独立的。通过get和set方法就可以得到当前线程对应的值。
7)_Generic:用于泛型编程。
C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道
标签:line float return 浮点型 def 表示 原创文章 指定 布尔
原文地址:https://blog.51cto.com/14793471/2491274