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

妇产医院网站源码个人简历模板免费下载网站

妇产医院网站源码,个人简历模板免费下载网站,找人搭建网站多少钱,要建设一个网站需要什么手续C语言中static的用法(超级详细版) static是C语言中的关键字。 static是静态的意思,可以用来: 1.修饰局部变量 2.修饰全局变量 3.修饰函数 在学习static之前,我们要先了解一下作用域和生命周期。 作用域和生命周期 作…

C语言中static的用法(超级详细版)

static是C语言中的关键字。
static是静态的意思,可以用来:
1.修饰局部变量
2.修饰全局变量
3.修饰函数

在学习static之前,我们要先了解一下作用域和生命周期。

作用域和生命周期

作⽤域(scope)是程序设计概念,通常来说,⼀段程序代码中所⽤到的名字并不总是有效(可⽤)的,⽽限定这个名字的可⽤性的代码范围就是这个名字的作⽤域。

  1. 局部变量的作⽤域是变量所在的局部范围。
  2. 全局变量的作⽤域是整个⼯程(项⽬)。

⽣命周期指的是变量的创建(申请内存)到变量的销毁(收回内存)之间的⼀个时间段。

  1. 局部变量的⽣命周期是:进⼊作⽤域变量创建,⽣命周期开始,出作⽤域⽣命周期结束。
  2. 全局变量的⽣命周期是:整个程序的⽣命周期。

下面举一个简单的例子解释一下局部变量和全局变量的作用域、生命周期。

#include<stdio.h>
int a =1;//a为全局变量,a的作用域是整个程序,a的生命周期为整个程序的生命周期
int main()
{if (a > 0) {int c = 200;//创建局部变量c,生命周期开始printf("%d", c);}//{}之间的为局部变量c的作用域,出作⽤域⽣命周期结束else {int b = 100;//创建局部变量bprintf("%d", b);}//{}之间的为局部变量b的作用域,出作⽤域⽣命周期结束return 0;
}

相信大家对作用域和生命周期已经有了很好的了解,现在步入正题!

static修饰局部变量

同样,最开始为大家举一个简单的例子,通过最直观的代码了解static。

#include<stdio.h>void test()
{int a = 0;//每一次进入test函数,a都会被重新赋值a++;//由于test函数没有返回值,所以a++的计算对主函数的循环没有影响printf("%d", a);
}
int main()
{int a = 0;for (a = 0; a < 5; a++){test();}return 0;
}

在这里插入图片描述
上述代码的test函数中的局部变量a是每次进⼊test函数先创建变量(⽣命周期开始)并赋值为0,然后
++,再打印,出函数的时候变量⽣命周期将要结束(释放内存)。

那么,现在我想要a的值有累加的效果,我应该怎样修改上述代码呢?
此时就用到了static。

#include<stdio.h>void test()
{static int a = 0;//直接在int前加上statica++;printf("%d", a);
}
int main()
{int a = 0;for (a = 0; a < 5; a++){test();}return 0;
}

在这里插入图片描述

代码中,我们从输出结果来看,i的值有累加的效果,其实test函数中的a创建好后,出函数的时候是
不会销毁的,重新进⼊函数也就不会重新创建变量,直接上次累积的数值继续计算。

结论:static修饰局部变量改变了变量的⽣命周期,⽣命周期改变的本质是改变了变量的存储类型,本
来⼀个局部变量是存储在内存的栈区的,但是被 static 修饰后存储到了静态区。存储在静态区的变
量和全局变量是⼀样的,⽣命周期就和程序的⽣命周期⼀样了,只有程序结束,变量才销毁,内存才
回收。但是作⽤域不变的。

在这里插入图片描述

static修饰全局变量

在这里插入图片描述

本质原因是全局变量默认是具有外部链接属性的,在外部的⽂件中想使⽤,只要适当的声明就可以使
⽤;但是全局变量被 static 修饰之后,外部链接属性就变成了内部链接属性,只能在⾃⼰所在的源
⽂件内部使⽤了,其他源⽂件,即使声明了,也是⽆法正常使⽤的。

static修饰函数

其实 static 修饰函数和 static 修饰全局变量是⼀模⼀样的,⼀个函数在整个⼯程都可以使⽤,
被static修饰后,只能在本⽂件内部使⽤,其他⽂件⽆法正常的链接使⽤了。
所以static修饰函数在这里我就不在赘述了,直接上代码!
在这里插入图片描述
在这里插入图片描述

最后,希望这篇文章对你有所帮助哦!!!

http://www.yayakq.cn/news/988250/

相关文章:

  • 网站开发及后期维护idc机房
  • 婚礼策划师wordpress怎么优化图片
  • 邯郸购物网站建设oa系统品牌
  • 河南省住房建设厅网站企业招聘网
  • 网站规划建设与管理维护课后答案6网站导航自适应
  • python做网站快么深圳知名网站设计公司
  • 建筑网站建设网站建设需要数学
  • 上海百度做网站网站上如何做问卷调查
  • 广州最好的商城网站制作淄博网站建设企业
  • 漂亮网站底部代码企业年金在哪里查询
  • 网站上的漂浮广告微信小程序源码网
  • 网站开发费用投入情况简单工程承包合同范本
  • 建站新体验在局域网建设网站
  • 官网招聘和招聘网站安徽建设工程信息网招标公告
  • 网站模板设计举例网站设计外包协议
  • 做美团一样的网站需要多少钱一年四季不愁销路的生意
  • linux系统搭建网站门户网站建设采购
  • 深圳设计网站的公司广东省发布最新消息
  • 生活分享网站源码 博客风格分享小清新php源码云南网爱我国防知识竞赛
  • 山西古建筑网站网站建设的目标的意思
  • 百度云如何建设网站数据过滤网站模板下载
  • 婚纱网站开发背景装饰公司资质等级
  • 网站建设流程分为三个步骤网站服务器购买价格
  • 网站后台页面进不去防伪网站怎么做
  • 百度上做网站免费吗广州航海学院门户网站
  • 永州商城网站建设字体设计灵感网站
  • 如何利用云服务器进行网站建设手机网站建设制作教程视频教程
  • 海外网站域名那个网站教你做美食
  • 商城网站 模板中国北京出啥大事了
  • 什么网站做视频给钱橙色大气风格网站模板