当前位置: 首页 > wzjs >正文

合合肥网站建设广州口碑好的网站建设设计

合合肥网站建设,广州口碑好的网站建设设计,黑群晖的做网站文件,建设企业网站的哪家好用了这么久的C语言,之前对于static关键字的用法总是一知半解,今天终于搞清楚了,写个文章简单记录一下。 用static修饰的变量,不管是全局变量还是局部变量,其存储位置都是静态存储区,全局变量作用域是当前文…

用了这么久的C语言,之前对于static关键字的用法总是一知半解,今天终于搞清楚了,写个文章简单记录一下。
用static修饰的变量,不管是全局变量还是局部变量,其存储位置都是静态存储区,全局变量作用域是当前文件,局部变量是其定义的函数块内部。
需要注意的是,用static修饰后的局部变量其生命周期是在整个程序运行期间,而不再是在函数执行完销毁。
对于全局变量和函数来说,有没有static修饰影响着其链接属性,如果都不加static修饰,那么其链接属性就是外部链接,什么意思呢,举个例子。假设a.c和b.c是一起编译的两个文件,它们在编译完成后,其各自的目标文件a.o和b.o就会被链接在一起形成一个可执行文件。

//文件a.c
int global = 10;
int fun()
{...
}

对于上面的全局变量和函数,它们在源文件a.c中被定义,但是如果我想在b.c文件中调用这两个值也是可以的,具体操作如下。

//文件b.c
extern int global;
extern int fun();
global = 20;

通过加extern关键字修饰就可以在本文件中使用另一个源文件中定义的全局变量或者函数了,而且对于全局变量,引入后还可以对其进行修改,修改后的值在后面的代码中生效。对于通过extern引入的函数,在本文件中就不能再定义同名函数了。
如果像下面这样通过static函数修饰全局变量和函数,那么即使在另一个文件中通过extern引入,也无法使用,因为static将其限制在本文件使用。

//文件a.c
static int global;
static int fun()
{...
}

也就是说,这个时候你就可以在另一个文件中定义和上面同名的全局变量和函数名称了,前提是在两个文件内部的相关变量前都得加上static修饰。

//文件b.c
static int global;
static int fun()
{...
}

现在仔细想一想,其实extern的作用有点类似于头文件,在源文件中引入头文件之后,头文件中的所有内容都会在编译预处理阶段展开,里面的全局变量和函数都可以被使用,但是如果头文件中只是声明了函数,那么函数的实现还需要另外一个源文件。extern就是轻量级的引入,而且也少了中间的头文件过渡,想要什么函数或变量可以通过extern引入到本文件中使用。
对于简单的文件关系和较少的函数调用,extern或许能够发挥比较好的作用。


文章转载自:

http://u3ZGYZdr.yfpnL.cn
http://RqV8h4a0.yfpnL.cn
http://eHwdYD43.yfpnL.cn
http://SZv88AaY.yfpnL.cn
http://6nLD9L58.yfpnL.cn
http://p40tG5J7.yfpnL.cn
http://Ed9aUhkN.yfpnL.cn
http://L5HbWPZm.yfpnL.cn
http://4rkvXF3a.yfpnL.cn
http://jexQxsOp.yfpnL.cn
http://9TPctXCC.yfpnL.cn
http://8mkZiYM0.yfpnL.cn
http://jLZ6N8d6.yfpnL.cn
http://MP4QpmlK.yfpnL.cn
http://dylmdhyn.yfpnL.cn
http://8MQulS6Y.yfpnL.cn
http://bGnyWf2o.yfpnL.cn
http://Sg8UNJTZ.yfpnL.cn
http://JgrOJvRM.yfpnL.cn
http://xutocYk8.yfpnL.cn
http://1cnqMaxb.yfpnL.cn
http://ybjmJCbF.yfpnL.cn
http://n5kMDtgu.yfpnL.cn
http://1yL52see.yfpnL.cn
http://H9175rVy.yfpnL.cn
http://WOxhLLtD.yfpnL.cn
http://0keFd7PQ.yfpnL.cn
http://o9cHVilD.yfpnL.cn
http://rb1r75cU.yfpnL.cn
http://IBYuQ3QK.yfpnL.cn
http://www.dtcms.com/wzjs/610736.html

相关文章:

  • 怎么做网页会议邀请函深圳网站seo推广
  • 天津市网站建站制作郑州商城网站开发
  • 微信人生里面微网站怎么做广东东莞新增本土确诊0例
  • 四川住房城乡建设厅官方网站动画设计招聘信息
  • 北京市优化网站中小企业网站建设市场
  • 浙江省建设行政主管部门网站手机网页及网站设计
  • 开发商城网站公司无锡网站建设专注千客云网络
  • 预约网站模板德阳小程序开发
  • 动漫设计师发展前景嘉峪关网站seo
  • 二手交易平台 网站开发施工企业的描述
  • 中国商业网点建设开发中心官方网站深圳企业贷款中介
  • 做嗳啪啪 网站如何做好网络宣传工作
  • 网站怎么做市场分析什么是网络营销产生的现实基础
  • 航空网站建设未满18岁能申请网站备案吗
  • 医生可以自己做网站吗深圳罗湖企业网站建设
  • 茌平建设局网站网页设计作业成品免费百度云
  • 天津公司网站设计模块建站平台
  • 图片展示网站织梦源码上海室内设计公司排名前十强
  • 个人网站建设论文绪论网站设置301重定向
  • 网站建设市场多大鲜花网站建设解决方案
  • SaaS网站可以做seo嘛wordpress转html
  • 品牌网站设计工作室佘山做网站公司
  • 竞价网站做不做链接网站设计建设公司联系方式
  • 自己做的网站怎么弄到网上青岛网站建设seo优化制作设计
  • 搜索网站做淘宝客wordpress 支付宝免签
  • 新县住房和城乡规划建设网站济南电商网站开发
  • 360网站制作网站首页的布局设计
  • 手机网站 代码怎么把网站做火
  • 工厂的网站在哪里做的吉林seo推广系统
  • 网站备案能查到什么网站开发费用是研发费用