变量
变量类型 | 作用域 | 生命周期 | 存储位置 |
局部变量 | 函数内部 | 从局部变量创建到函数执行结束 | 栈区 |
全局变量 | 项目中的所有文件 | 从程序创建到程序销毁 | 数据区 |
静态全局变量 | 函数内部 | 从程序创建到程序销毁 | 数据区 |
静态全局变量 | 定义所在的文件中 | 从程序创建到程序销毁 | 数据区 |
函数
函数类型 | 作用域 | 生命周期 | 存储位置 |
全局函数(默认) | 项目中所有文件 | 从程序创建到程序销毁 | 代码区 |
静态函数 | 定义所在的文件 | 从程序创建到程序销毁 | 代码区 |
注:
1.允许在不同的函数中使用相同的变量名,它们代表不同的对象,互不干扰
2.同一源文件中,允许全局变量和局部变量同名,在局部变量作用域内,全局变量不起作用
3.所有的函数默认都是全局的,意味着所有的函数都不能重名,但若是staitc函数,作用域是文件级别的,所以不同的文件的static函数名是可以相同的。
4.若是再其它文件中使用全局变量,需要使用extern关键字修饰。