温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言的关键词有哪些

发布时间:2021-11-22 14:54:08 来源:亿速云 阅读:115 作者:iii 栏目:互联网科技

本篇内容介绍了“C语言的关键词有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

早在C90时候,即第一版本的ISO C语言里面,一共包含了32个关键词,这些关键词在绝大多数的C语言书里面都会讲解,也是我们平时使用频率很高的一些关键词。如图1所示。
                           
C语言的关键词有哪些
图1 C89/C90中的关键词

后来到C99更新标准的时候,对C90中的关键词进行了扩充,此次扩充的关键词数量为5个,分别覆盖了数据类型的扩充,函数定义的扩充和指针限定等方面。C99新增的5个关键词如图2所示。

C语言的关键词有哪些
图2 C99新增的5个关键词

_Complex和_Imaginary关键词,增加了C语言对复数的支持,包含标准头文件“<complex.h>”后,我们就可以用 complex来代表 _Complex,用imaginary来代表 _Imaginary,以及用“_Complex_I”或者大写字母“I”来代表虚数单位 i,也就是 -1的平方根。
_Bool关键词,补充了C语言对布尔类型的支持,包含标准头文件<stdbool.h>后,我们可以用 bool 代替 _Bool ,true 代替 1 ,false 代替 0 。例如:
bool logic_switch = true;
logic_switch = false;
我们前面所说的C语言中没有表示布尔类型的关键词,也是基于C90所说,因为C99后加的Bool类型关键词,它并不是类似于通常意义上面的原生C语言关键词,需要加入额外的头文件才能支持。
最新的C语言版本C11,在C99的基础上增加了7个关键词,如图3所示。

C语言的关键词有哪些
图3 C11中增加的7个关键词

这些关键词中,_Alignof给出指定数据类型内存对齐的字节数,如double按8字节对齐,其内存地址都是8的整数倍。_Alignas关键字指定某个变量按照其他数据类型对齐,如char正常按1字节对齐,可指定按short类型的2字节对齐。
_Atomic关键词是针对多线程的原子操作而增加的关键词。
_Static_assert关键词是用于编译期间的断言,因此也称为静态断言。
_Noreturn表明调用完成后函数不返回主调函数。注意,这与void返回类型不同。void类型的函数在执行完毕后返回主调函数,只是它不提供返回值。
_Thread_local为线程存储类限定符。
_Generic提供一种基于控制表达式的类型,在编译时选择数个表达式之一的方法。
对于C11标准,我们在平时做C语言设计时,用的非常少,因为对于单片机开发来说,其程序设计比较简单,基本用不到C11中新增的功能。而对于Linux开发来说,底层程序开发都是基于GNU C语言的,而GNU C语言对标准C语言又有很多扩展,甚至C11中某些新特性是从GNU C中借鉴过来的。
我们在指定GCC编译器编译C语言版本时,可以使用后缀命令-std=c11,来使编译器支持C11版本。如:
-std=c++11,支持C++11标准;
-std=gnu++11,支持C++11标准和GNU扩展特性;
因此我们编译时,指定C语言版本,可以直接使用命令:
gcc -o 程序名源文件.c -std=c11。

“C语言的关键词有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI