C语言面试考点之一(常见关键字)

Posted Overboom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言面试考点之一(常见关键字)相关的知识,希望对你有一定的参考价值。

C语言关键字考点
1. static关键字
static函数的三个作用:

  • 函数内部static变量
  • 函数外部static变量
  • static函数
    1、函数内部的static变量,关键在于生命周期持久,他的值不会随着函数调用的结束而消失,下一次调用时,static变量的值,还保留着上次调用后的内容。
    2/3、函数外部的static变量,以及static函数,关键在于私有性,它们只属于当前文件,其它文件看不到他们。

函数外部static关键字
全局变量定义在函数体外部,在全局数据区分配存储空间,且编译器会自动对其初始化。
普通全局变量对整个工程可见,其他文件可以使用extern外部声明后直接使用。也就是说其他文件不能再定义一个与其相同名字的变量了(否则编译器会认为它们是同一个变量)。
静态全局变量仅对当前文件可见,其他文件不可访问,其他文件可以定义与其同名的变量,两者互不影响。

2. volatile关键字[三个使用场景]
1). 并行设备的硬件寄存器(如:状态寄存器)
#define GPC1CON ((volatile unsigned int)0xE0200080)
寄存器地址为什么要加 volatile 修饰呢?
是因为,这些寄存器里面的值是随时变化的。如果我们没有将这个地址强制类型转换成 volatile,那么我们在使用GPC1CON 这个寄存器的时候, 会直接从 CPU 的寄存器中取值。因为之前GPC1CON 被访问过,也就是之前就从内存中取出 GPC1CON 的

以上是关于C语言面试考点之一(常见关键字)的主要内容,如果未能解决你的问题,请参考以下文章

数据结构:哈希表原理以及面试中的常见考点

C语言中volatile关键字详解以及常见的面试问题

C++面试考点

c++面试常见300问

常见嵌入式/C/C++面试题100+集合(含参考答案)-更新中

内部类