static 全局变量与普通的全局变量有什么区别?

浏览量:3416
时间: 2023-09-09 16:44:19

static 全局变量与普通的全局变量有什么区别?static 局部变量和普通局部变量有什么 区别?static 函数与普通函数有什么区别?

    全局变量(外部变量)的说明之前再冠以 static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。
    从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域, 限制了它的使用范围。static 函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件
static 全局变量与普通的全局变量有什么区别:

static 全局变量只初使化一次,防止在其他文件单元中被引用;
static 局部变量和普通局部变量有什么区别:

static 局部变量只被初始化一次,下一次依据上一次结果值;
static 函数与普通函数有什么区别:

static 函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉
相关推荐HOT
PCB拼板怎么设计?V-CUT、邮票孔与工艺边怎么选?PCB工程师面试

一句话答案PCB 单板太小要拼板过 SMT 线:V-CUT 适合规则矩形拼板,邮票孔(桥连)适合异形板或 V-CUT 切不到的地方;工艺边留 5mm 放 MAR... 详情>>

2026-09-18 09:02:52
emc设计工程师怎么做?emc设计工程师常见问题及回答技巧

EMC设计工程师面试技巧EMC(Electromagnetic Compatibility)设计工程师的主要职责是确保电子设备在电磁环境中的正常运行,并且不会对... 详情>>

2023-11-27 11:44:26
静电放电ESD怎么测试与整改?接触放电和空气放电区别?TVS管怎么选?EMC面试

一句话答案ESD 测试分接触放电(±2/4/6/8kV,直接接触金属)和空气放电(±2/4/8/15kV,靠近放电);整改用 TVS 管(瞬态抑制)、RC 滤波... 详情>>

2026-09-24 09:23:10
PCB拼板设计时工艺边和Mark点怎么安排?发版前检查要从生产工艺讲到利用率

分类:PCB设计工程师面试题经验要求:中级难度:中高级题型:发版前设计检查📖 本文概述PCB拼板设计是发版前检查的必查项。本文从工艺边宽度确定、Mark点布局... 详情>>

2026-08-03 10:41:32
PCB热仿真怎么分析?热源、散热路径、铜箔、过孔、环境温度怎么处理?

一句话答案PCB热仿真先确定热源(功耗器件)和热阻参数,建立板级模型(叠层、铜箔分布、过孔),设置环境温度和对流条件,求解稳态温度分布;散热手段包括加大铜箔散热... 详情>>

2026-10-11 15:26:38
开班信息