c语言的变量存储方式

 c语言的变量存储方式
静态存储方式与动态存储方式(具体:自动的、静态的、寄存器的register、外部的extern)
在内存中的用户的存储空间分为:程序区、静态存储区、动态存储区。
静态存储方式:在程序运行期间,系统对变量分配的固定空间。
动态存储方式:在程序运行期间,系统对变量分配的动态空间
1>用static来声明静态局部变量,局部变量的值在函数结束后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上次函数调用结束时的值。静态局部变量的默认值为0.
2>动态的局部变量当函数体被调用完毕时,变量的空间被释放。
举例:
#include<stdio.h>
int main()
{
	int i=0;
        for(i=0;i<3;i++)
	{
		fun1();
		fun2();
	}
}

//自动变量
void fun1()
{
	int a=10;
	a++;
	printf("输出自动变量a的值:%d\n",a);	
}

//局部静态变量
void fun2()
{
	static int a=3
	a++;
	printf("输出静态局部变量a的值:%d\n",a);
}

输出结果:
说明:静态局部变量是只有在编译的时候赋初始值,即只赋初始值一次,在程序运行的时候它已经有初始值,那么之后再调用函数的时候不在重新对变量进行初始值赋值,而是对保留上一下车函数调用结束的值。
 

                
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值