c++全局变量,局部变量,内存布局,默认初始化

全局变量

定义在所有函数之外的变量,main函数之内的变量也是局部变量,Globle variable 未显示初始化时执行默认初始化

局部变量

定义在函数之内的变量,Local variable 未显示初始化,执行默认初始化,但值是未定义的(Undefinde behavior)

内存布局

变量(包括基本类型,符合类型,用户自定义类)分布在不同的内存区域。栈区存储局部变量(不包括局部的static变量),如函数内定义的变量,堆区存储动态内存对象(new或smater pointer申请分配的对象),静态存储区用于存static变量,C-style字符串,const对象。