c语言中static关键字改变了(C语言开发中关键字static的经典剖析)

 2024-05-14  阅读 850  评论 0

摘要:点击蓝字 关注我们关键字static单从单词翻译出来的意思,我们可能都以为关键字static是很安静,但是呢它一点都不安静!作用1:修饰变量修饰变量。变量有分为全局变量和局部变量但是如果他们都被static修饰了的话他们都在内存的静态区。静态全局变量:作用域仅限于本文件中中,如果在其他文件及时使用e

点击蓝字 关注我们

关键字static

单从单词翻译出来的意思,我们可能都以为关键字static是很安静,但是呢它一点都不安静!

c语言中static关键字改变了(C语言开发中关键字static的经典剖析)(1)

作用1:修饰变量

修饰变量。变量有分为全局变量和局部变量但是如果他们都被static修饰了的话他们都在内存的静态区。

静态全局变量:作用域仅限于本文件中中,如果在其他文件及时使用extern声明也没变法使用该变量,换一个说法作用域是从定义的地方开始到文件结尾处结束,在定义之处前面的代码同样没办法使用它。

静态局部变量:局部变量就是在函数里面的static,那就只能在函数里面使用了,刚刚我也提到了由于被static修饰的变量都存放在静态存储区,所以即使该函数就算结束了该静态变量也不会被销毁,如果下次在调用这个函数还是原来的值。

作用2:修饰函数

修饰函数。就是在函数前面添加static使得函数变为静态函数。但是要和变量区分开来,这里不是说把函数保存到静态存储区,而是说该函数的作用域仅限在本文件内,所以这样的函数我们有叫(内部函数)。那这样定义的函数有什么作用呢?在项目开发过程中往往不是单独一个人开发,每一个都有自己的模块,最后综合在一起,这样定义函数就避免了你定义的函数在其他地方被其他人使用导致程序出现问题。

c语言中static关键字改变了(C语言开发中关键字static的经典剖析)(2)

关于static的历史

通过查找资料我发现C语言的关键字还有一段不一样的历史,在最开始在C语言中引入关键字static是为了表示退出后内存块依旧保存局部变量,随后出现了第二种定义:用来表示不能被去头文件访问的全局变量和函数。

看到这里你知道C语言关键字static的用法了么?如果有什么疑问可以评论共同探讨!

在这里看一道笔试题目:

void fun(void)

{

statict int i=0 ;

i ; }

int mian ()

{

int k=0;

for(k=0;k<10;k )

{ fun();}

return 0;

}

你看完知道最后i的结果是多少么?

,

版权声明:xxxxxxxxx;

原文链接:http://cn.tdroid.net/ceadaCz0MAQADVg.html

发表评论:

管理员

  • 内容267524
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:
注册登录
注册帐号
登录帐号

Copyright © 2022 太卓开发网 Inc. 保留所有权利。 泰达科技网易库网

页面耗时0.1282秒, 内存占用1.33 MB, 访问数据库18次