1、首先对于创建的变量来说,有两个属性特别重要:
(1)作用域 (2)以及生命周期
2、一般,作用域一般分为全局作用域、局部作用域、类作用域、语句作用域、文件作用域以及命名作用域;
全局变量:
作用域:整个程序还有其他的源文件 (使用extern)
生命周期:整个程序
存放:静态全局区,每次对其进行的更改会保留
静态全局变量:
作用域:对应的程序内
生命周期:整个程序
存放:静态全局区,每次对其进行的更改会保留
注:相比于全局变量,静态全局变量只是更改了其作用域
局部变量:
作用域:该函数内部,在函数的外部不能执行
生命周期:该函数调用期间,调用完毕进行回收;
存放:存放在栈上
静态局部变量:
作用域:该函数内部,在函数的外部不能执行
生命周期:整个程序执行期间
存放:存放在静态全局区
注:对于静态局部变量的更改会保留下来,如果重读调用的话,会改变他的值;
类作用域:
对于类作用域:肯定是作用域:为类;
调用其中的函数:必须显示的实例化对象,进行调用;
可以使用类名直接进行初始化,还可以使用指针进行初始化;
3、
内存的分配方式为静态分配以及动态的分配:
对于静态的分配:直接在程序中,或者是函数中进行创建;那么这个过程在编译的阶段就进行确定,
效率高,但是灵活性不高;
还可以使用动态分配的方式,在堆区使用new 的方式来创建对象,使用指针的方式进行接收;
注意这里需要使用delete来释放掉相对应的内存空间;