[基础知识点总结]

一、关键字static的作用

static关键字在C/C++中主要用于控制变量的存储方式可见性

1、在C语言中,static关键字有三个主要作用:

(1)当用于函数内部的局部变量时,static使该变量保持其值不变,即该变量在函数调用过程中的值不丢失,这种变量被称为静态局部变量,只在第一次调用时初始化,普通局部变量在函数调用结束后会销毁,而静态局部变量则存储在静态区,具有与程序相同的生命周期

(2)当用于模块内但函数体外时,static使得该变量只能被同一模块内所用函数访问,但不能被模块外其它函数访问。相当于一个本地的全局变量

(3)当用于修饰函数时,static函数仅能被声明它的模块内其他函数调用,即这个函数被限制在声明它的模块的本地范围内使用

2、在C++中,static关键字的作用有所扩展:

(1)当用于修饰成员变量时,static使该成员成为类的全局变量,被类的所有对象共享。这意味着,无论创建多少对象,都只有一个这样的变量实例。因此,static成员必须在类外进行初始化,而不能在构造函数内进行初始化。

(2)当用于修饰成员函数时,static表示这个成员函数没有this指针,因此它只能访问static成员变量。静态成员函数可以独立于任何对象实例访问,即无需创建对象即可使用

(3)最重要的特性是隐藏,即当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,可能引发命名冲突。通过使用static,可以在不同的文件中定义同名函数和变量,而不必担心冲突。

二、extern作用

  • 14
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值