常见关键字与#define
1. 常见关键字
1.1 表格
char | 字符型 | auto | default | ||
---|---|---|---|---|---|
int | 整型 | extern | break | 跳出所在的循环或语句块 | |
float | 单精度浮点型 | if | continue | 跳过本次循环 | |
double | 双精度浮点型 | else | static | 修饰变量或函数使之成为静态 | |
short | 短整型 | while | rigister | ||
long | 长整型 | do | typedef | 为类型重命名 | |
long long | 更长的整型 | for | struct | 结构体特征 | |
signed | 有符号整型 | switch | 选择语句 | go to | 跳转语句 |
unsigned | 无符号整型 | case | union | 联合 | |
return | 函数返回 | sizeof | 求所占的内存大小,字节为单位 | enum | 枚举 |
1.2 typedef
- typedef是类型重命名,给数据类型一个新的名字。
typedef int num_int;
//typedef把int类型定义了一个新名字num_int
1.3 static
static可以修饰变量和函数
修饰局部变量是静态局部变量。
修饰全局变量是静态全局变量。
修饰函数是静态函数。
局部变量
不用static
#include <stdio.h>
void print(){
int a = 1;
a++;
printf("%d ",a);
}
int main(){
int i = 0;
for(i = 0; i < 5; i ++){
print();
}
return 0;
}
a的结果都为2
使用static
#include <stdio.h>
void print(){
static int a = 1;
a++;
printf("%d ",a);
}
int main(){
int i = 0;
for(i = 0; i < 5; i ++){
print();
}
return 0;
}
结果为:
用static修饰局部变量后,局部变量储存在了内存的静态区,只创建一次,生命周期从函数print内部变为直到整个程序运行结束。
全局变量
使用static修饰的全局变量具有本地性,只能在当前所在的源文件中使用,不能在别的源文件中使用。
函数
使用static修饰的函数具有本地性,只能在当前的源文件中被调用,不能被其他的源文件调用。
2. #define
2.1 #define定义字面常量
#define N 100
用N替换程序中所有的100,且便于修改
#include <stdio.h>
#define N 100
int main(){
int a = N;
printf("%d ",a);
return 0
}
2.2 #define定义宏
#define Add(x,y) ((x) + (y))
用Add(x,y)替换((x) + (y)),完成两个数相加的功能,类似于函数。
#define定义的宏可以代替一些简单的函数。
#include <stdio.h>
#define Add(x,y) ((x) + (y))
int main(){
int sum = Add(2,3);
prinitf("%d\n",sum);
return 0;
}
END