社区
C语言
帖子详情
static 变量的问题
xeniums
2006-01-08 09:54:45
以下两个定义为什么不一样
定义一:
static int k = 0;
//这样函数结束后不释放k的内存
定义二:
static int k;
k = 0;
//和普通变量没什么区别了
...全文
142
3
打赏
收藏
static 变量的问题
以下两个定义为什么不一样 定义一: static int k = 0; //这样函数结束后不释放k的内存 定义二: static int k; k = 0; //和普通变量没什么区别了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cunsh
2006-01-08
打赏
举报
回复
void f(){
static int k = 0;
cout << ++k << endl;
}
int main()
{
f();
f();
return 0;
}
//输出 1 2
void f(){
static int k;
k = 0;
cout << ++k << endl;
}
int main()
{
f();
f();
return 0;
}
//输出 1 1
cunsh
2006-01-08
打赏
举报
回复
定义一:
static int k = 0;
//这样函数结束后不释放k的内存
定义二:
static int k;
k = 0;
//和普通变量没什么区别了
在一个函数中这样写.效果是不一样的.楼主试试.
Paripatetic
2006-01-08
打赏
举报
回复
static和普通变量区大了
普通变量离开作用域后被释放
而static运行于整个程序中
最全的C和C++语言笔试面试题汇总
最全的C和C++语言笔试面试题汇总,我大四时候找工作时候他帮上了很多忙,里面的题目经常考到。希望对大家有帮助。
linux 多线程环境中的
static
变量
问题
,Linux C中多线程与volatile
变量
Linux C中多线程与volatile
变量
volatile 修饰的
变量
表示改
变量
的值是易变的,编译器不对其进行优化,访问该
变量
的时候不会从寄存器读取, 而是直接从内存读取
变量
。在多线程环境下,每个线程都有一个独立的寄存器,用于保存当前执行的指令。假设我们定义了一个全局
变量
,每个线程都会访问这个全局
变量
,这时候线程的寄存器可能会存储全量
变量
的当前值用于后续的访问。当某个线程修改了全局
变量
的值时,系...
类中
static
变量
和成员
变量
类中
static
变量
和普通
变量
的区别(一便解释了摘要中的内容) 要理解标题,我们首先来看下
static
变量
本身的特殊之处,即它存储在全局数据区。在类中的
static
变量
也是如此。 C++的内存分布 代码区 :函数体的二进制代码 全局数据区:全局
变量
和
static
变量
堆 :动态内存分配 -> 通过new 栈 ...
是否可以在
static
环境中访问非
static
变量
?
1.不可以,因为
static
变量
属于类本身,在类加载的时候分配到方法区 也就是分配内存空间, 而 非
static
变量
必须在类new 的时候才会分配内存空间。 2.他们2个分配空间的时间是不一样的 java只有分配内存空间的
变量
和方法 才能互相访问,
static
变量
在加载的时候就已经分配内存空间 而非
static
还没有分配内存空间,所以
static
环境中是不能访问非
static
变量
的...
java 给
static
变量
赋值_java
static
变量
可以赋值吗?
java
static
变量
可以赋值吗?可以赋值的。
static
的主要作用是静态成员,指该
变量
的实例在内存中之存放一次。赋值是可以随便改的。java中
static
关键字
static
是java中非常重要的一个关键字,主要有两种作用:● 第一:为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关。● 第二:实现某个方法或属性与类而不是对象关联在一起简单来说,在Java语言中,
static
主要...
C语言
70,039
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章