c语言中的static的用法

在 C 语言中,static 关键字用于修饰变量、函数或类成员,使其具有静态作用域,具有以下特性:内部链接:只能在声明它的文件中访问或调用。保留值:变量和局部函数变量在程序结束之前保留其值。类作用域:类成员属于整个类,所有实例共享同一份数据。常量:static const 类成员可以声明为编译时常量。

c语言中的static的用法

C语言中的static用法

什么是static

static是一个关键字,用于修饰变量、函数或类成员,表示其具有静态作用域。

变量的static作用域

对于变量,static表示:

内部链接:static变量只能在声明它的文件内访问。保留值:static变量在程序结束之前一直保留其值,即使它所在的函数已经退出。默认初始化:全局static变量被初始化为0,局部static变量被初始化为垃圾值。

函数的static作用域

对于函数,static表示:

内部链接:static函数只能在声明它的文件内调用。局部作用域:static函数的局部变量具有与static变量相同的内部作用域和值保留特性。

类成员的static作用域

对于类成员,static表示:

类作用域:static类成员属于整个类,而不是任何特定对象。共享数据:所有类实例共享同一份static类成员。常量: static const类成员可以声明为编译时常量。

何时使用static

使用static的常见场景包括:

限制变量或函数的可见性保留函数局部变量的状态在类中使用共享数据声明编译时常量

示例

// 外部变量,全局可见int external_var = 10;// 静态变量,仅在本文件中可见且保留其值static int static_var = 20;// 静态函数,仅在本文件中可见且局部变量保留其值static void static_func() {    static int local_var = 30;    local_var++;}// 静态类成员,所有对象共享class MyClass {public:    static int shared_var = 40;};

以上就是c语言中的static的用法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1436668.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 12:59:15
下一篇 2025年12月17日 12:59:30

相关推荐

发表回复

登录后才能评论
关注微信