注意点:
由上表可以看出static修饰局部变量和全局变量改变了变量的作用域和生存周期(存储的位置不同导致),还有默认值。
普通局部变量的作用域是在整个应用之内,是把变量定义到源文件中,另一个源文件通过extern 来调用,并且可以使用和修改该变量;
例如:
//TestStatic2.c int testVar2 = 100; static int testStaticVar3 = 300; void showInnerVar(){ printf("testVar2 is :%dn",testVar2); } //TestStatic.c int main(void) { extern int testVar2; showInnerVar(); testVar2 = 1111; showInnerVar(); return 0; }
输出的结果为:
testVar2 is :100 testVar2 is :11112、不同之处
类是C++相对于C特有的,所以static关键字在类中的作用C全部没有;
注意:
static在类中的作用是限制了该成员是类的,而非对象的这一唯一性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)