define const static

2022-07-21  本文已影响0人  若水water
预编译

预编译 是做些代码文本替换的工作。
处理#开头的指令,比如#define宏定义#include 包含的文件代码,条件编译等,就是为编译做的预备工作的阶段。

内存区域

:在函数执行时,函数内部的局部变量(不包括静态局部变量)存在栈中,函数结束时这些存储空间自动被释放。
:动态分配内存使用的区域,通过malloc或new创建,使用完之后我们需要手动释放,否则认为产生了内存泄漏。即使程序运行结束后,机器会自动释放堆。
静态存储区:这一块的内存在程序编译时就已经存在了,主要存放静态变量,全局变量和常量等。

局部变量和全局变量

局部变量:他在程序运行期间不是一直存在,只有在函数调用时存在,在函数退出时销毁。
全局变量:全局变量具有全局作用域,只需要在一个源文件中定义就可以在所有cpp文件中使用,通过extern关键字声明。
静态局部变量:静态局部变量只在初次调用的时候初始化,直到程序关闭。静态局部变量的作用域是局部的,只对定于他的函数可见。
静态全局变量:静态全局变量与全局变量一样具有全局作用域,但是有所不同的是,因为有static关键字修饰,所以不能被其他cpp文件extern,即使在其他cpp文件中出现同名变量,也只是另一个全新的个体。

define 和const
static 和 const

参考:
https://www.csdn.net/tags/MtjaAgxsODU5NzYtYmxvZwO0O0OO0O0O.html

上一篇 下一篇

猜你喜欢

热点阅读