变量的作用域,生存周期:自动变量,静态变量,外部变量,寄存器变量

变量的作用域和生存期
1、变量的作用域
程序中被花括号括起来的区域,叫做语句块(Block)。函数体是语句块,分支语句和循环体也是语句块。
变量的作用域(Scope)规则是:每个变量仅在定义它的语句块(包含下级语句块)内有效,并且拥有自己的存储空间。
不在任何语句块内定义的变量,称为全局变量(Global Variable)全局变量的作用域为整个程序,即全局变量在程序的所有位置均有效。这是因为假如把整个程序看作一个大语句块,按照变量的作用域规则,在与main()平行的位置即不在任何语句块内定义的变量,就应该在程序的所有位置均有效。
相反,在除整个程序以外的其他语句块内定义的变量,称为局部变量(Local Variable)
全局变量从程序运行开始起就占据内存,仅在程序结束时才将其释放,所谓释放内存,其实就是将内存中的值恢复为随机值(即乱码)。由于全局变量的作用域是整个程序,在程序运行期间始终占据着内存,因此在程序运行期间的任何时候,在程序的任何地方,都可以访问(读或者写)全局变量的值。

例题:用递归方法编程输出Fibonacci数列的基础上,同时打印出计算Fibonacci数列每一项时所需的递归调用次数。

#include <stdio.h>

int count;
long fib(int n);


int main()
{
   
   
	int n,i,x;
	printf("Input n:");
	scanf("%d",&n)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值