关于全局变量等的概念

本文探讨了全局变量和局部变量在C/C++中的区别,包括它们的存储方式、作用域以及静态(static)关键字如何影响它们。全局变量在整个源程序中有效,而静态全局变量限制在定义它的源文件内。局部变量在栈上存储,静态局部变量只初始化一次并保持其值。extern关键字用于引用全局变量,而静态函数则在内存中只有一份。理解这些概念对于优化代码和避免命名冲突至关重要。
摘要由CSDN通过智能技术生成

局部變量會屏蔽全局變量
引用一個定義過的全局變量 
    可以用extern 也可以用引用頭文件方式
    头文件引用在编译期间报错
    extern引用在链接期间报错

表达式 int d = 10*a++ ;
    d= 10*a ;然后a自加加;

全局变量本身就是静态存储方式
    static(静态)全局变量也是
非静态全局变量的作用域是整个源程序,在各个源文件中都是有效的
而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效。
总上,局部变量改变为静态变量后,是改变了它的存储方式即改变了它的生存期;全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。

static全局变量只初始化一次,防止在其他文件单元中引用
static函数在内存中只有一份,普通函数在每一个被调用中维持一份拷贝。

局部变量存在于 堆栈中,全局变量存在于 静态区 ,动态申请数据存在于堆中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值