标签:
1、static修饰的变量会一直保存在内存中,直到程序结束才会被销毁,不管你是在代码的那个位置定义的这个变量。因此你定义的static变量只会初始化一次,之后你获取到的static修饰的变量的值均是上次赋的值。
代码:
1 void play() 2 { 3 static int i = 0; //这里只会执行一次 4 ... 5 i = 2; 6 ... 7 }
当pla结束第一次调用的时候,i还存在再内存中,值为2;当这个函数第二次被调用,进入这个函数的时候,i的值仍然为2;也就是说i一直存在于内存中。
2、避免团队开发多人在多个文件使用了相同的全局变量名而导致冲突的问题
* 在各自文件中,在相同的全局变量前加上static修饰符。这样系统就会为他们分配不同的内存。
* 用static修饰的变量仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。
标签:
原文地址:http://www.cnblogs.com/alan12138/p/alan.html