c语言问题

lI不响 2019-05-19 05:32:29
c语言中,什么是全局变量,全局函数,如何声明?
...全文
49 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_43659968 2019-05-20
  • 打赏
  • 举报
回复
变量的作用域及生命周期
变量的作用域:变量(存储区)能被访问的范围
变量的生命周期:变量的分配,被回收

局部变量(在函数内部声明的变量)的作用域,
C89 局部变量只能在当前函数访问 函数
C99 代码块中局部变量只能在当前代码块访问
同一作用域之内 不能出现同名变量

局部变量生命周期
auto int a = 0;
局部变量生命周期限于函数声明该变量开始,函数结束(C99 代码块结束),自动(auto) 变量释放


全局变量
作用域 当前程序 可访问
生命周期 ,程序开始 到程序结束

如何声明 是全局的呢?
写在函数外面的变量 是全局变量

在所有函数中可以其进行读写
全局变量名 跟局部变量名可以同名
函数首先会找局部变量(就近原则)

全局变量名 可以跟函数名 同名吗?
函数名具有全局作用域特性

全局变量弊端:
全局命令空间 污染
函数复用降低


静态变量
声明局部变量 前加static 关键字
静态变量的作用域 限定在当前代码块
生命周期 整个程序结束

简单点来说,全局变量和静态局部变量都有作用域和生命周期,不同的是全局变量的生命周期和作用域是程序结束它才结束,静态的是在自己的作用域里运行,不在全局运行,生命周期也是程序结束才结束。当然你先这样理解,等在到一定水平在去理解全局变量和静态局部变量。很有意思的。
自信男孩 2019-05-20
  • 打赏
  • 举报
回复
全局变量是声明和定义在函数外的函数。全局函数是可以被其他文件函数调用的,一般不叫全局函数,一般交对外接口函数吧。

建议找一下与此相对应的名称:局部变量,静态函数等等,可以从网上搜一下,对比学习和了解效率比较高。
拥抱Linux 2019-05-19
  • 打赏
  • 举报
回复
百度一下更快。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧