关键字extern、static与const
extern关键字与include的区别
- extern:于声明某个函数或变量是外部的(其他源文件中)
- include:用于批量引入
项目中可以根据需要引入的函数或变量数量决定使用extern
还是include
static关键字
static
关键字用于限制函数和全局变量的作用域仅在当前文件生效,同时可以保障工程内函数名冲突static
关键字修饰的局部变量的生命周期由原来的{}
变为当前进程,static
修饰的变量存储位置不再是函数栈中,而是静态区
const关键字
- 被const修饰的对象是只读的
用法
const int *p;
- 表示不能通过指针变量p修改指向的内存空间中的值
int const *p;
- 表示不能通过指针变量p修改指向的内存空间中的值
int* const p;
- 表示指针p不能指向别的地址,但是指向的内存中的值可以修改
const int *const p;
- 表示指针p不能指向别的地址,同时指向的内存中的值是对于当前指针只读的