面试题目:C语言关键字

目录

一,static关键字

二,const关键字

三,volatile关键字


一,static关键字

在C语言中,关键字static有三个明显作用:

1,修饰局部变量,改变了变量的生存期,该变量只被初始化一次,下一次依据上一次结果值。

2,修饰全局变量,改变了变量的作用域,该变量只能在本文件中访问,不能在其它文件中访问。

3,修饰一个函数,改变了函数的作用域,该函数只能在本文件中调用,不能被其他文件调用。

二,const关键字

1,const作用可以用来定义常量,修饰函数参数,修饰函数返回值,被const修饰东西,都受到强制保护,防止其它代码无意识修改,从而提高程序的健壮性。

2,const规则const离谁近,谁就不能被修改;const修饰一个变量时,一定要给这个变量初始化,若不初始化,在后面也不能初始化。

3,const优点

3.1,编译器可以对const进行类型安全检查(所谓的类型安全检查,能将程序集间彼此隔离开来,这种隔离能确保程序集彼此间不会产生负面影响,提高程序的可读性)。

3.2,有些集成化的调试工具可以对const常量进行调试,使编译器对处理内容有了更多的了解,消除了一些隐患。

3.3,可以节省空间,避免不必要的内存分配,因为编译器通常不为const常量分配内存空间,而是将它保存在符号表中,这样就没有了存储于读内存的操作,使效率也得以提高。

3.4,可以很方便的进行参数的修改和调整,同时避免意义模糊的数字出现

三,volatile关键字

1,volatile作用一个定义为volatile的变量说明这个变量可能会被意想不到地改变。在用到这个变量时,必须每次都要重新从内存中读取这变量的值,而不是使用保存在寄存器里的备份。

2,volatile的三个例子

2.1,并行设备的硬件寄存器(如,状态寄存器)。

2.2,一个中断服务子程序中会访问到的非自动变量。

2.3,多线程应用中被几个任务共享的变量。

欢迎订阅公众号【从零开始学无线】,一起学习交流! 

                                                         

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章