AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 单片机 题目详情
CB7F4A34C0E000013E881031881B68E0
单片机
152
判断题

5、全家变量可使用static关键字进行定义,由于全局变量一直存在,占用了大量的内存单元,且加大了程序的耦合性,不利于程序的移植或复用。
( )

A
正确
B
错误

答案解析

正确答案:A

解析:

这道题的陈述是**正确**的。以下是对该知识点的详细解析: ### 1. 关于 `static` 关键字与全局变量 在 C/C++ 等语言中,全局变量默认具有外部链接属性(external linkage),即其他文件可以通过 `extern` 关键字访问它。 当在全局变量前加上 `static` 关键字时(例如 `static int g_var;`),该变量的链接属性变为**内部链接**(internal linkage)。这意味着该变量**只能在定义它的源文件内部使用**,其他文件无法访问。 * **注意**:题目中说“全家变量可使用static关键字进行定义”,这里的“全家变量”显然是“全局变量”的笔误。虽然表述略有瑕疵,但其核心意图是考察 static 对全局变量作用域的限制。 ### 2. 全局变量的缺点 题目后半部分指出了全局变量的主要弊端,这些观点在软件工程中是被广泛认可的: * **占用内存**:全局变量存储在静态数据区,从程序启动到结束一直存在,确实会长期占用内存单元。 * **耦合性高**:任何函数都可以修改全局变量,这使得函数之间的依赖关系变得隐式且复杂。一个模块对全局变量的修改可能会意外影响另一个模块的行为,导致程序难以调试和维护。 * **不利于移植和复用**:由于依赖全局状态,包含全局变量的代码模块很难独立提取出来复用到其他项目中,因为必须同时复制相关的全局变量定义及其初始状态,增加了移植难度。 ### 结论 尽管题目中存在“全家变量”这一明显的错别字(应为“全局变量”),但其关于 **static 修饰全局变量** 以及 **全局变量缺点** 的描述在计算机科学和编程规范中是**正确**的。使用 `static` 修饰全局变量正是为了限制其作用域,从而在一定程度上降低耦合性,提高模块的独立性。 因此,答案选 **正确 (√)**。

相关知识点:

全局变量用static定义

题目纠错
单片机

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码