,,详解C语言中的Static关键字

,,详解C语言中的Static关键字

本文主要介绍了C语言中的静态关键字,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。

一、static关键字的基本含义

首先静态关键字的意思是静态,用来修改局部变量,全局变量和函数及其数据存储类型。

1.局部变量:任何函数(无static)中定义的变量,初始值不确定的,被输出函数自动销毁,存放在栈区。当使用static修改这个变量时,编译器会将其初始化为零,并存储在静态区中。函数的返回值将保持不变,传出函数不会被销毁,下一个传入函数仍然存在。根本原因3354静态修改的局部变量存储在静态区域。

2.全局变量:普通全局变量在函数体之外定义。存储空间分配在静态区,编译器自动初始化。普通全局变量对整个项目可见,其他文档用关键字extern对外声明后可以直接使用。静态全局变量只对当前文件可见,其他文件不可访问。其他文件可以定义同名变量,两者互不影响。在定义不需要与其他文件共享的全局变量时,添加static关键字可以有效降低程序模块之间的耦合性,避免不同文件中同名变量的冲突,不会被误用。

3.函数:在函数的返回类型为静态函数前加static。比如:static int main()静态函数只能在声明它的文件中可见,其他文件不能引用这个函数。不同的文件可以使用相同的名称。静态函数非静态函数可以在另一个文件中直接引用。

二、static关键字的用法

1.使用普通局部变量时,如图,int a是局部变量,每次函数后自动销毁,所以打印出‘66666666’;

当使用静态局部变量时,如图。被static修改的局部变量除了在局部作用域之后不会被销毁,下一个入口函数依然存在。

2.如图,static的著名函数不能被另一个文件引用。

三、static关键字的原理

因为static修改的局部变量是存储在静态区的,所以static修改全局变量的时候,实际上是改变了变量的存储位置。局部变量放在堆栈区,被static修改后放在静态区。因此,生命周期不会结束,除非范围仍然存在。

如图为存储区示意图

总结

本文到此为止。希望能帮到你,也希望你能多关注我们的更多内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: