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

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

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

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

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

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

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

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

分类:射频电路经验级别:1-3年难度:中级题型:原理对比+选型应用本文概述:微带线和带状线是射频PCB设计中最常用的两种传输线结构。微带线在表层,只有一面有参考... 详情>>

2026-08-17 11:10:29
Linux内核模块编译加载失败怎么排查?

📂 分类:嵌入式Linux📊 经验级别:中级⭐ 难度:★★★☆☆📝 题型:调试排查题本文概述Linux内核模块编译和加载失败的排查要分阶段进行:编译阶段主... 详情>>

2026-08-11 11:24:16
电话面试常见的8个错误

如你想要赢得接下来的面试机会,并表现卓越才能赢得Offer,那么你在电话面试中就要避免以下8个常见错误。1、想着这不是一个真正的面试。 有些求职者把电... 详情>>

2023-09-09 16:37:29
为什么要采用Linux内核来构建嵌入式操作系统?

内核本身小而且简单,易于理解,易于维护。各种特殊的模块(如文件系统等)、设备驱动乃至中断处理程序,都可以作为独立的进程开发,既简单又容易调试,并 且容易在其他环... 详情>>

2024-10-16 16:52:00
单片机ADC采样不准有哪些软硬件原因

分类:嵌入式单片机经验级别:0-2年难度:初级到中级题型:排故+原理嵌入式工程师调试STM32单片机ADC采样数据不准的问题本文概述单片机ADC采样不准是嵌入式... 详情>>

2026-08-11 17:45:35
开班信息