c语言 static静态变量

[复制链接]
查看11 | 回复3 | 2006-6-5 17:00:51 | 显示全部楼层 |阅读模式
静态变量是这样的:静态变量的内存是整个程序开始就分配了内存,整个程序结束后内存才消失!动态变量的就是用的时候才动态分配,用完之后就消失了!静态变量给了变量初始的值,然后如果在程序中该值有变化的,那当前的值就是变化后的值,这个是它的原理你的初始值是1,第一次结果有变化,是2,所以静态变量当前值是2,所以输出的是3,下次用2,所以结果是5
回复

使用道具 举报

千问 | 2006-6-5 17:00:51 | 显示全部楼层
static是静态类型关键字,她具有全局变量的功能,在运行的过程中只初始化一次,每一次值的变化都写入数据缓存中,用来下次被使用。
回复

使用道具 举报

千问 | 2006-6-5 17:00:51 | 显示全部楼层
二.有时希望函数中的局部变量的值在函数调用结束后不消失而保留原值,即其占用的存储单元不释放,在下一次函数调用时,该变量已有值,就是上一次函数调用结束时的值.这是就应该指定该局部变量为"局部静态变量",用static加以说明
引自> 谭浩强哈哈
回复

使用道具 举报

千问 | 2006-6-5 17:00:51 | 显示全部楼层
这是因为静态变量在整个程序运行过程中只能被初始化1次;接下来分析一下你的程序:第一次调动函数P:P(1),既X=1,Y=1;Y=Y+1;既Y=2;第二次调动时Y仍等于2,所以是3和5
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行