1、定义:在函数内部定义的静态变量,使用关键字static
进行修饰。
成都创新互联-专业网站定制、快速模板网站建设、高性价比甘泉网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式甘泉网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖甘泉地区。费用合理售后完善,10年实体公司更值得信赖。
2、存储位置:静态局部变量的存储位置是在栈区。
3、生命周期:静态局部变量的生命周期是从程序开始到程序结束。
4、初始化:静态局部变量在定义时可以初始化,如果没有初始化,系统会自动初始化为0。
5、作用域:静态局部变量的作用域仅限于定义它的函数内部。
6、访问方式:静态局部变量可以通过作用域解析符::
进行访问。
1、定义:在函数外部定义的静态变量,使用关键字static
进行修饰。
2、存储位置:静态全局变量的存储位置是在全局数据区。
3、生命周期:静态全局变量的生命周期是从程序开始到程序结束。
4、初始化:静态全局变量在定义时可以初始化,如果没有初始化,系统会自动初始化为0。
5、作用域:静态全局变量的作用域是整个程序。
6、访问方式:静态全局变量可以直接通过变量名进行访问。
1、存储位置不同
静态局部变量:栈区
静态全局变量:全局数据区
2、作用域不同
静态局部变量:仅在定义它的函数内部可见
静态全局变量:在整个程序中可见
3、初始化不同
静态局部变量:可以在定义时初始化,也可以在声明时初始化,还可以在使用前初始化
静态全局变量:可以在定义时初始化,也可以在使用前初始化
4、生命周期不同
静态局部变量:从程序开始到程序结束
静态全局变量:从程序开始到程序结束
#includeusing namespace std; // 静态局部变量示例 void func() { static int count = 0; // 定义静态局部变量count,并初始化为0 count++; // count自增1 cout << "count: " << count << endl; } int main() { for (int i = 0; i < 5; i++) { func(); // 调用func函数,输出count的值 } return 0; }
#includeusing namespace std; // 静态全局变量示例 static int global_count = 0; // 定义静态全局变量global_count,并初始化为0 void func() { global_count++; // global_count自增1 cout << "global_count: " << global_count << endl; } int main() { for (int i = 0; i < 5; i++) { func(); // 调用func函数,输出global_count的值 } return 0; }
名称栏目:static静态局部变量和静态全局变量的区别详解
文章网址:http://www.shufengxianlan.com/qtweb/news18/163018.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联