c语言中static的作用和用法

c语言中static的作用和用法

1、用于局部变量的修饰符

当 static 用于修饰局部变量时,通常是在某个函数体内,只能在该函数内被调用。

这样定义的变量通常被称为局部静态变量,它的值不会因为函数调用的结束而被清除,当函数再次被调用时,它的值是上一次调用结束后的值。

如下面这段代码所示,变量 x 是局部变量,变量 y 是静态局部变量。在调用函数后,变量 x 的值会被清除,而变量 y 的值则会被保留。多次调用该函数,变量 x 每次都会从新初始化,而变量 y 的值则不会。

静态局部变量的特性:

  • 存储位置:处于静态存储区,当用 static 修饰局部变量的时候,它就改变了局部变量的存储位置,从原来的栈中存放改为静态存储区;
  • 初始化操作:未经初始化的局部静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化);
  • 作用域:为局部作用域,即当定义它的函数结束的时候,作用域随之结束(不能被访问)。但是静态局部变量在离开作用域之后,并没有被销毁,而是仍然保存在内存当中,直到程序结束。

变量在内存的不同区域介绍

 2、用于全局变量的修饰符

关键字 static 还可用于修饰全局变量,该变量在某一个文件中变量,但不属于任何一个函数内,这样的变量通常称为静态全局变量

静态全局变量的存储位置、初始化操作同静态局部变量的特性,但其作用域有所不同:静态全局变量可以被该文件内的所有函数访问,但不能被其它文件内的函数访问。

3、用于函数的修饰符

关键字 static 还可以用于修饰一个函数,这样的函数称之为静态函数。

定义一个静态函数就是在函数的返回类型前加上 static 关键字。

静态函数的作用域仅限于本文件,不能被其它文件调用。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至89291810@qq.com举报,一经查实,本站将立刻删除。

(0)
上一篇 2022-04-16 下午4:14
下一篇 2022-04-16 下午4:16

相关推荐

  • iban number

    iban number IBAN,是指国际银行帐户号码(The International Bank Account Number),通常 简 称 IBAN , 是 由 欧 洲 银…

    孩子学习 2022-04-17
  • 温故知新的意思

    温故知新的意思 复习学过的知识;可以从中体会和发现新的东西。形容回顾过去;认识现实。温:温习;故:旧的。 出处:先秦 孔子《论语 为政》:“温故而知新,可以为师矣。”语法:温故知新…

    孩子学习 2022-04-19
  • 暨和及区别

    暨和及区别 暨”有两种用法。一种是做动词,意思是“至,到”。例如“东暨于海”、“自古暨今”、“暨乎今岁,天灾流行”。这是文言用法,在现代汉语中比较少见。 “暨”的另一种用法是做连词…

    孩子学习 2022-04-18
  • 初三孩子厌学不去学校

    孩子初三厌学,不想上学了怎么办?(初三孩子厌学不去学校) 在中考分流的情况下,孩子的学习压力增大,再加上老师和家长的双重施压,很多初三的孩子出现了厌学的情况,从而导致孩子的学习成绩…

    孩子学习 2023-01-25
  • 上午10点是什么时辰

    上午10点是什么时辰 早上十点属于巳时。巳时:隅中,又名日禺,临近中午的时候称为隅中(09 时至11时)。 巳时人性格 巳时出生的人比较神奇,虽说你们很喜欢出风头的,但是给人感觉也…

    孩子学习 2022-04-12
  • 孩子厌学有轻生的念头

    孩子厌学有轻生的念头(孩子厌学轻生怎么开导他) 开学了,作为家长,都希望孩子能迅速适应学校,但TA们的表现却可能让你大失所望—— 孩子学习?对于所有的家长来,最关心就是孩子的学习,…

    孩子学习 2023-01-12
  • 怎么背书背得快记得牢

    怎么背书背得快记得牢 1、熟悉全文通读背诵对象三至五遍,形成整体框架,熟悉全文是背诵的前提。对于拿不准读音的字要查字典,并把拼音标于字的上方,通过数遍的通读,可以在大脑中形成背诵对…

    孩子学习 2022-04-19
  • 教育学专业考研考哪些科目(教育学专业学什么)

    专业介绍 教育学属教育学类专业,基本修业年限为四年,授予教育学学位。教育学专业是一门研究人类的教育活动及其规律的社会科学,通过对教育现象、教育问题的研究来揭示教育的一般规律。其主干…

    孩子学习 2022-04-26
  • 北京的985大学有几所(北京985大学哪几所)

    大家都知道作为首都,北京的高等教育水平是领先全国的,仅985大学就达到了8所,211大学更是高达26所,实在让人觉得不可思议。 不过很多网友也提出自己的疑问,北京究竟有哪8所大学属…

    孩子学习 2022-04-26

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注