分享

C语言Static静态变量

 lhzstudio 2012-05-12
#include "iostream.h"
int p(int x)
{
static int y=1;
y=y+1;
return (x+y);}
int main()
{
cout<<p(1)<<endl;
cout<<p(2)<<endl;
}

答案是3和5


最佳答案
c语言的static变量是在程序加载的时候就为之分配内存的,一直到程序结束,只能初始化一次,而不像普通变量那样函数执行一次分配一次。所以当第一次执行p(1)的时候,y已经加1了,下次执行p(2)时,y不会恢复成1,还是2。

与全局变量的区别是,可见域上有区别,这是局部静态变量,在函数外不可见,但是依然在内存中存在。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多