简简单单static

前言

static,静态的,在C/C++中经常喜欢问它的作用,那么,应该简简单单的把它记录一下

一 正文

1.1 C语言中

在C语言中,static有下3个作用:

  • static修饰全局变量:被修饰的全局变量的作用域范围限定为本源文件,另外的源文件不能通过extern关键词来使用这个全局变量。(该变量存放在静态变量区)
  • static修饰局部变量:a)被修饰的局部变量只能被初始化一次。b)被修饰的局部变量的存储空间发生了改变,不再存储在栈中,而是存储在数据段中。
  • static修饰函数:被修饰的函数作用域范围限定为本源文件,另外的源文件不能使用被修饰的函数

1.2 C++语言中

在C++语言中,在C的基础上,还多了一个

  • 对一个类中成员变量和成员函数来说,加了static关键字,则此变量/函数就没有了this指针了,必须通过类名才能访问。它们是属于类的,而不是某个对象,所有对象共享一个静态成员

二 其他

  • static会修改变量的存储类型,从自动变量变成静态变量。
  • 在嵌入式系统中,要时刻懂得移植的重要性,程序可能是很多程序员共同协作同时完成,在定义变量及函数的过程,可能会重名,这给系统的集成带来麻烦,因此保证不冲突的办法是显示的表示此变量或者函数是本地的,static即可。在Linux的模块编程中,这一条很明显,所有的函数和全局变量都要用static关键字声明,将其作用域限制在本模块内部,与其他模块共享的函数或者变量要EXPORT到内核中。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值