++静态局部变量和普通变量有什么区别啊

如题所述

静态变量是在堆分配的,而普通变量是在栈上分配的,栈上分配的变量是动态的,可以实现重用,而堆上分配的变量是不能实现重用。还有普通变量可以实现
多次初始化,而静态变量只能初始化一次。对于静态局部变量如果没有提供初始化时,系统会采用默认初始化。静态局部变量,的生存期是从程序执行开始直到
结束,虽然存在,但是不允许在作用域外访问。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-28
假如一个变量存在于一个函数中,函数调用结束后,普通变量会被释放内存。
而静态变量的内存则不会释放。
假如后面的程序段要调用该函数,该函数中该静态变量的值可以继续使用。本回答被提问者和网友采纳
第2个回答  2008-10-30
静态变量,可以看作是一个全局变量,不过只在指定的定义域范围内可以范围。
比如某个函数里面。他在成个程序运行的时间周期中都是只有唯一一个。

局部变量是没到用到的时候重新创建一个。 重新创建。
第3个回答  2008-10-30
程序不执行结束比如i是变量,那么到最后每加一次i就加1,因为这个变量在静态的存储区里面,是不会被释放的、在程序执行完之前。