C语言的关键字主要用于声明变量、函数或其它数据结构,以及定义控制语句和存储类型等。根据其作用,C语言的关键字可以分为以下几类:
- 数据类型关键字。用于定义数据类型,如char、int、float、double、enum、struct、union、typedef和sizeof等。
- 控制语句关键字。用于表示程序中的控制结构,如if、else、for、while、do-while、switch、case、default、break和continue等。
- 存储类型关键字。用于指示变量的存储方式,如auto、extern、register、static和volatile等。
- 其他关键字。用于特定的编程功能,如const、goto、sizeof和typedef等。
- 关键字详见收藏夹
static修饰全局变量、局部变量:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
//typedef unsigned int uint;//类型重命名
//typedef struct Node
//{
// int data;
// struct Node* next;
//}Node;
//
//int main()
//{
// unsigned int num = 0;
// uint num2 = 1;//num和num2这两个变量的类型是一样的
// struct Node n;
// Node n2;
//}
extern int intj;
//static修饰全局变量将改变全局变量的链接属性,外部变内部,
//此时其他源文件无法再使用此全局变量
void test()
{
static int a = 1;//如果不加入static函数,每次进入函数时重新创建并赋值a
//当static修饰局部变量,改变了变量的存储位置,从栈区到静态区,因此变量出了作用域不会销毁
// 影响了变量的生命周期,和程序的生命周期一致
//(栈区:进入创建,离开销毁)
a++;
printf("% d", a);
}//每次离开函数时a被销毁
int main()
{
int i = 0;
while (i < 10)
{
test();
i++;
}
return 0;
}
define定义标识符常量
//add是宏名,(x,y是宏的参数)((x)+(y))是宏体
#define add(x,y) ((x)+(y))
//define定义标识符常量
#define NUM 100
int main()
{
printf("%d\n",NUM);
int n = NUM;
printf("%d\n",n);
int arr[NUM] = { 0 };
int a = 51, b = 46;
int c = add(a, b);//int c =((a)+(b)),相当于a和b直接替换到宏体运算
printf("%d\n", c);
return 0;
}