c++中关键字static在普通变量及函数详解及实例运行答案
2017-12-19 16:23
856 查看
静态全局变量
例1 有无static无影响
c++代码
运行结果
例2 有无static有影响
静态全局变量不能被其它文件所用;
其它文件中可以定义相同名字的变量,不会发生冲突;
main函数文件中
file.cpp文件中
结果报错
将static int n;改为int n;正确运行
例3 静态局部变量
不会每次调用都被初始化,只初始化一次
运行结果
将static int n=1;变为int n=1;
运行结果
例4 静态函数
静态函数与静态全局变量类似,只能在当前文件中可用,不能被其它文件中使用这个静态函数
例1
运行结果
例5
main函数文件中
file文件中
运行结果出错
例1 有无static无影响
c++代码
#include<iostream> using namespace std; static int n;//全局静态变量 void func(); int main() { n=1; cout<<"主函数中的n为 "<<n<<endl; func(); return 0; } void func() { n++; cout<<"调用函数中的n为 "<<n<<endl; }
运行结果
例2 有无static有影响
静态全局变量不能被其它文件所用;
其它文件中可以定义相同名字的变量,不会发生冲突;
main函数文件中
#include<iostream> #include<file.cpp> using namespace std; static int n;//全局静态变量 void func(); int main() { n=1; cout<<"主函数中的n为 "<<n<<endl; func(); return 0; }
file.cpp文件中
#include<iostream> using namespace std; extern int n;//extern:若n没在当前文件或当前文件的其他位置,则可以在其他文件或其他文件的其他位置寻找 void func() { n++; cout<<"func函数中的n为 "<<n<<endl; }
结果报错
将static int n;改为int n;正确运行
例3 静态局部变量
不会每次调用都被初始化,只初始化一次
#include<iostream> using namespace std; void func(); int main() { for(int i=0;i<5;++i) func(); return 0; } void func() { static int n=1;//静态局部变量 cout<<"func函数中的n为 "<<n<<endl; n++; }
运行结果
将static int n=1;变为int n=1;
运行结果
例4 静态函数
静态函数与静态全局变量类似,只能在当前文件中可用,不能被其它文件中使用这个静态函数
例1
#include<iostream> using namespace std; static void func();//静态函数 int main() { func(); return 0; } void func() { int n=1; cout<<"func函数中的n为 "<<n<<endl; }
运行结果
例5
main函数文件中
#include<iostream> #include<file.cpp> using namespace std; static void func();//静态函数 int main() { func(); return 0; }
file文件中
#include<iostream> usingnamespacestd; voidfunc() { intn=1; cout<<"func函数中的n为"<<n<<endl; }
运行结果出错
相关文章推荐
- c++中关键字static在普通变量及函数详解及实例运行答案
- c++中关键字static在普通变量及函数详解及实例运行答案
- c++中关键字static在普通变量及函数详解及实例运行答案
- c++中关键字static在普通变量及函数详解及实例运行答案
- c++中关键字static在普通变量及函数详解及实例运行答案
- c++中关键字static在普通变量及函数详解及实例运行答案
- c++中关键字static在普通变量及函数详解及实例运行答案
- c++中关键字static在普通变量及函数详解及实例运行答案
- c++中关键字static在普通变量及函数详解及实例运行答案
- c++中关键字static在普通变量及函数详解及实例运行答案
- static作用(修饰函数、局部变量、全局变量) C/C++中static关键字详解
- C++程序运行时内存布局之----------简单类实例,成员变量,成员函数,静态成员变量,静态成员函数
- C++——static关键字(全局变量,局部变量,函数)
- C++程序运行时内存布局之----------简单类实例,成员变量,成员函数,静态成员变量,静态成员函数
- 下面有关static类变量和实例变量的描述,正确的有?( C++中的static关键字)
- C++程序运行时内存布局之----------简单类实例,成员变量,成员函数,静态成员变量,静态成员函数
- C++程序运行时内存布局之----------简单类实例,成员变量,成员函数,静态成员变量,静态成员函数
- static全局变量,static局部变量,static函数与全局变量,局部变量,普通函数的区别
- c++中 static 变量和函数能否被子类继承
- static全局变量与普通的全局变量的区别/static局部变量和普通局部变量的区别/static函数与普通函数的区别