C语言提供了丰富的关键字,这些关键字都是语言本身预设好的,用户是不可以自己创造关键字的,所以在定义变量时,要避免变量名与关键字相同。
C语言常见的关键字如下:
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
其中,大部分关键字都是我们很熟悉的,如while,void,return 等,这里就不多赘述了,我们挑选部分讲解。
1.auto
在C语言中,使用auto修饰的变量是具有自动自动存储器的局部变量。通常情况下,局部变量都是被默认是auto,所以一般省略这个关键字。
2.const
使用const修饰的变量,将无法将无法被改变。我们对比如下两段代码,可以看到的是,被const修饰的变量无法被改变。
此外,我们还要了解指针常量和常量指针这两个概念。
2.1.常量指针
int m = 0;
int c = 0
const int* n = &m;
n = &c;
常量指针指向的值不能被改变,但是指针本身是可以改变的,指针也可以指向其他的地址
2.2指针常量
int m = 0;
int c = 9;
int* const n = &m;
*n = c;
指针常量指向的值是可以改变的,但是指针本身不可以改变.
3.extern
extern,即外部变量,表明变量或者函数是定义在其他文件中的。如果在函数以外定义一个变量,并且没有指定存储类别,那么它就是一个外部变量。这时如果我们要在这个变量定义之前使用这个变量,就要利用extern对其进行声明。这样才能使用这个变量。
4.static
在C语言中,static是用来修饰变量和函数的。
4.1修饰局部变量-静态局部变量
我们来看看这段代码,不妨猜猜结果是多少?如果删去static呢?
static修饰局部变量改变了变量的生命周期,让局部变量出了作用域依然存在,到程序结束,生命周期才结束。
4.2.修饰全局变量和函数
一个全局变量或者函数被static修饰,使得这个全局变量只能在本源文件使用,不可以在其他源文件使用。