搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于局部静态变量
标题:
关于局部静态变量
取消只看楼主
b1592187525
等 级:
新手上路
帖 子:86
专家分:4
注 册:2017-2-15
结帖率:
90.32%
楼主
已结贴
√
问题点数:20 回复次数:1
关于局部静态变量
如何理解局部静态变量在程序运行期间都不释放存储空间?是不是只要不释放存储空间局部静态变量就不能被再次赋值?因此局部静态变量只能赋一次初值?
那为什么下面代码中局部静态变量a又能再次赋值为9?
#include"stdio.h"
#include"stdlib.h"
main(){
static int a=6;
a=9;
printf("%d",a);
system("pause");
}
搜索更多相关主题的帖子:
局部
静态
变量
赋值
include
2017-09-08 00:13
b1592187525
等 级:
新手上路
帖 子:86
专家分:4
注 册:2017-2-15
第
2
楼
得分:0
以下是引用
renkejun1942
在2017-9-8 00:58:21的发言:
除带有const修饰关键字的变量,任何变量都可以赋值。
另外为什么你会觉得静态变量需要释放空间?从哪里得到的错觉?
我的意思是局部静态变量在程序运行期间不会释放存储空间。在网上视频教程提到静态变量只能赋一次初值,(这里的赋初值与赋值是两个不同的意思?)问题修正一下。
问题1:变量(不是指静态变量)之所以能重复赋初值是不是因为变量在赋完初值后它的内存空间被释放了?所以使得变量可以重复赋初值.
问题2:而静态变量由于没有释放内存空间导致静态变量只能赋一次初值?
2017-09-08 02:26
2
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-480555-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.857491 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved