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

来源:百度知道 编辑:UC知道 时间:2024/09/26 10:39:33

假如一个变量存在于一个函数中,函数调用结束后,普通变量会被释放内存。
而静态变量的内存则不会释放。
假如后面的程序段要调用该函数,该函数中该静态变量的值可以继续使用。

静态变量是在堆分配的,而普通变量是在栈上分配的,栈上分配的变量是动态的,可以实现重用,而堆上分配的变量是不能实现重用。还有普通变量可以实现
多次初始化,而静态变量只能初始化一次。对于静态局部变量如果没有提供初始化时,系统会采用默认初始化。静态局部变量,的生存期是从程序执行开始直到
结束,虽然存在,但是不允许在作用域外访问。

程序不执行结束比如i是变量,那么到最后每加一次i就加1,因为这个变量在静态的存储区里面,是不会被释放的、在程序执行完之前。

静态变量,可以看作是一个全局变量,不过只在指定的定义域范围内可以范围。
比如某个函数里面。他在成个程序运行的时间周期中都是只有唯一一个。

局部变量是没到用到的时候重新创建一个。 重新创建。