C语言关键字
1.extern
extern用来声明变量或者函数的,extern声明不是定义,也不分配存储空间。
在一个文件中定义了变量和函数,想要在其他文件中使用它们,可以有两种方式:
- 先声明它们,然后引用头文件,其他文件再去包含头文件;
- 在其他文件中直接extern。
2.static
2.1static(修饰局部变量)
静态局部变量使用static修饰符定义static修饰局部变量可以把它初始化为0
且静态局部变量存储于进程的全局数据区,即使函数返回,它的值也会保持不变。
2.2static(修饰全局变量)
静态全局变量仅当前文件可见,其他文件不可访问,其他文件可以定义与其同名的变量,
两者互不影响定义在函数体外部,在全局数据区分配存储空间,编译器会自动对其初始化
2.3static(修饰函数量)
静态全局变量仅当前文件可见,其他文件不可访问,不同的文件可以使用相同名字的静态函数,互不影响
3.const常量和#define的区别
区别1:
执行程序:
define是在编译的预处理阶段起作用,而const是在编译、运行的时候起作用。
区别2:
对程序的作用:
define只是简单的字符串替换,没有类型检查。
而const有对应的数据类型,是要进行判断的,可以避免一些低级的错误。
1 | const int n = 10; const修饰变量n后,保护了变量n,使其不能被赋值修改。 const.c |
4.typedef
第一种理解:将变量重新定义新名字
系统默认的所有基本类型都可以利用typedef 关键字来重新定义类型名
第二种理解:将结构体重新定义新名字
1 | 用以下结构体为例,定义一个名为student的结构体: |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
