C语言中的Static关键字怎么用

发布时间:2022-01-19 09:10:18 作者:小新
来源:亿速云 阅读:127

这篇文章主要介绍C语言中的Static关键字怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、static关键字的基本含义

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

1.局部变量:在任意一个函数内部定义的变量(不加static),初始值不确定,出函数自动销毁,存放于栈区。 使用static修饰这个变量时,编译器会把她初始化为零,存储于静态区,函数返回时值保持不变,出函数不销毁,下一次进入函数依然存在。根本原因——static修饰的局部变量存储在静态区。

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

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

二、static关键字的用法

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

C语言中的Static关键字怎么用

当使用静态局部变量时,如图。static修饰的局部变量除了局部范围后不会销毁,下一次进入函数依然存在。

C语言中的Static关键字怎么用

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

C语言中的Static关键字怎么用

三、static关键字的原理

因为static修饰的局部变量是存储在静态区的,static修饰全局变量时,实际改变的是变量的存储位置。 局部变量放在栈区的,被static修饰后放在了静态区。从而导致除了作用域依然存在,生命周期并没有结束

如图为存储区示意图

C语言中的Static关键字怎么用

以上是“C语言中的Static关键字怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. c语言中static关键字有什么作用
  2. static关键字在php中的应用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c语言 static

上一篇:Go中变量命名规则及实例分析

下一篇:html5中有哪些常用框架

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》