0
点赞
收藏
分享

微信扫一扫

c语言深度解析中关于static变量测试 请看源码分析


我是一步步f10调试的总结出的 i与j的在内存中变化。

j是静态全局变量默认初始化为0,fun2每次调用的过后都是1.

i是一个静态局部变量,i的值就是每次函数调用的结束的时的值。在测试代码中i最后值是10.

#include <iostream>
using namespace std;

static int j;

void fun1()
{
static int i = 0;
i++;
}

void fun2()
{
j = 0;
j++;
}

int main()
{
int k;
for (k=0; k<10; k++)
{
fun1();
fun2();
}

cout<<j<<endl;

return 0;
}

 

举报

相关推荐

0 条评论