标签:声明 函数 定义 局部变量 作用域 计算机 存在 内存 指定
在函数内部定义的普通局部变量和静态局部变量在功能上有何不同?计算机底层对这两类变量做了怎么样不同的处理,导致了这种差异?
答:局部作用域中静态变量的特点:它不会随着函数每次调用而产生一个副本,也不会随着函数返回而消失,定义是未指定初值的全局变量会被以0初始化;局部作用域中的全局变量诞生于声明点,结束于声明所在的块执行完毕之时,如果没有指定初值则初值不确定。
普通局部变量存放于栈区超出作用域后,变了被撤销,其所占用的内存也被收回;静态局部变量存放于静态数据存储区,全局可见,但是作用域是局部作用域,超出作用域后变量仍然存在。
标签:声明 函数 定义 局部变量 作用域 计算机 存在 内存 指定
原文地址:http://www.cnblogs.com/jinge1001/p/6158328.html