全局变量、const关键字
程序的内存区域:
代码区:存放程序代码和各个函数
数据区:存放程序中的全局变量和静态变量,常量 (不能修改)
栈区:存放局部变量(作用于定义开始到该函数结束)和形参
堆区:存放动态数据 很大 需要用指针访问
局部变量也称为内部变量,只能在定义他的函数内部使用 定义在函数开头
调用结束后内存释放
全局变量对于整个程序都是可见的 从定义到程序到结束
跟局部变量可重名,同时出现时,局部标量优先级高
不初始化时默认初始化为0
静态局部变量 static
static 修饰局部变量时:
1、只会被初始化一次,在第一次进入函数时进行初始化操作。后续不进行初始化
2、局部变量被调用后不会被释放内存
static 修饰全局变量时:
1、限定全局变量的可用范围在当前源文件内。作用域不能被修改
使用 extern 前置声明全局变量(找不到声明往后找)
const 关键词
const 修饰变量,变量不能被赋值。可以把一块内存声明为只读
必须进行初始化,不然没有意义
可以修饰函数形参