关键字
C语言中一共有32个关键字,每个都有特定的含义,是程序必不可少的部分,这些关键字是规定好了的,因此不能把关键字用来定义变量名。下面列出所有的关键字:
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
常见关键字
-
此关键字是类型定义关键字,可以理解为给其它关键字起别名,例如:
typedef unsigned int unint;
这条句的作用就是,将unsigned int
这条较长的关键字重新命名,后续就可以使用uint_32
来代替,然而起到的效果却是一样的,这样在后续写代码的过程中可以省下不少的功夫。 -
1、修饰局部变量,使局部变量的生命期延长至整个程序的存在时间。也可以理解为,在程序中结束一个函数后,在此函数中被该关键字修饰的变量不会被释放掉,等到再次调用该函数时,被修饰变量仍保持着上一次函数结束时的状态。调用下面这段函数,观察
i
和j
的输出值,就能体会到其中的含义。
注意: 由static
修饰的局部变量只会被初始化一次,下次再进入直接使用即可;
typedef
static
#include <stdio.h>//添加头文件
#include <stdlib.h>
void test()
{
//定义局部静态变量
int j=0;
static int i = 0;
i++;
j++;
printf("i=%d j=%d\n", i,j);
}
//主函数,函数入口
int main()
{
//利用循环调用十次函数
for (int i = 0; i < 10; i++)
{
test();
}
return 0;
}
-
2、修饰全局变量:经
static
修饰过得全局变量将不能再在其它源文件中进行使用。
3、修饰函数:经static
修饰的函数也将不能在其它源文件中进行使用,编译会报错。 - 在前面提到过该关键字,但是它的本质其实是做简单的文本替换,但是虽然好用,却也存在着缺陷,如下:
#define
#include <stdio.h>//添加头文件
#include <stdlib.h>
//宏定义
#define ADD(x, y,z) x + y*z
int main()//主函数,函数入口
{
//调用宏
int sum = ADD(2, 3,4);
printf("%d\n", sum);
return 0;
}
-
#define
若是宏定义一个计算表达式,因为它只是简单的文本替换,那么他是不会判定你算术运算符的优先关系的,所以在使用的时候一定要注意。