静态变量的生存期
静态变量生存期是整个程序运行过程与静态变量在编译的时候初始化怎么理解?编译的时候程序还没有开始运行吧?...
静态变量生存期是整个程序运行过程与静态变量在编译的时候初始化怎么理解?编译的时候程序还没有开始运行吧?
展开
4个回答
展开全部
所谓静态变量,就是相对于函数中定义的局部变量来说的,比如:
void fun() { static int xxx=2; int yyy=1 x++; }
这个函数中开设了一个静态变量xxx并且使其初始值等于2。这个变量在main程序还没有运行时就被创建好了,并且被赋初值为2。程序运行中如多次调用fun函数并不会重新赋初值,并且xxx将会记住自己的当前值(每调用fun一次自加一,相当于计数该函数的调用次数)。而相对的,yyy是每次调用函数时,才开设存储区给yyy并赋初值为1后再执行后面语句,并且退出fun后yyy的内存空间就立刻被释放了。
void fun() { static int xxx=2; int yyy=1 x++; }
这个函数中开设了一个静态变量xxx并且使其初始值等于2。这个变量在main程序还没有运行时就被创建好了,并且被赋初值为2。程序运行中如多次调用fun函数并不会重新赋初值,并且xxx将会记住自己的当前值(每调用fun一次自加一,相当于计数该函数的调用次数)。而相对的,yyy是每次调用函数时,才开设存储区给yyy并赋初值为1后再执行后面语句,并且退出fun后yyy的内存空间就立刻被释放了。
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
展开全部
当程序编译时,是把代码转换成了机器语言,在计算机内存中已分配了空间。全局变量声明之前加上static,就是静态全局变量,全局变量 从定义处至文件尾的所有函数都可引用。一般置于文件开始处, 程序执行开始:系统分配内存单元;程序执行完毕:系统回收内存单 元,就是整个程序运行过程中都存在。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
静态变量的生存周期:程序结束它就结束了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编译时赋值
追问
那他的生存周期呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询