static和extend修饰变量的不同点

局部变量:

a.static 修饰局部变量

如果一个局部变量被static修饰了,那么这个局部变量就在常量区里面,就不会被回收,直到程序结束才会被回收。

虽然你这个局部变量被static修饰了,但是我们这个局部变量还是有作用域的。

b.被static修饰的局部变量和 全局变量的区别

全局变量 所有的函数都可以访问

被static修饰的局部变量,只能在声明这个变量的函数中使用。

c.extern 不能修饰局部变量。

全局变量:

全局变量分为声明和定义

static修饰全局变量,叫做内部全局变量,只能在当前文件中使用。

extern修饰的全局变量,叫做尾部全局变量,可以在外部文件中使用

如果没有写访问修饰符号,默认就是static

函数:

如果一个函数被static修饰了,那么这个函数就是一个内部函数,只能在当前文件中访问。

如果一个函数被extern修饰了,那么这个函数就是一个外部函数,可以在外部文件中访问。

如果一个函数没有写访问修饰符,那么这个函数默认是extern。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 内存分配 变量:全局与局部 const,static,extern 宏 结构体,枚举(typeof与type...
    Ryan___阅读 1,456评论 0 3
  • 1 原理 1.1 首先,关于声明和定义的区别。 这种写法(函数原型后加;号表示结束的写法)只能叫函数声明而不能叫函...
    Pitfalls阅读 6,559评论 2 12
  • 重点掌握 3 类对象和方法 对象就是一个物体 类的独特存在就是一个实例,对实例进行操作叫做方法。方法可以应用于类或...
    Coder大雄阅读 1,276评论 0 2
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,866评论 0 27
  • 瘦成一副骨架的暮秋 关在门外 五谷垒起的梦落满门内的仓 埋藏我一行青涩的小诗 那曾是母亲守候的一季 田埂宛若一排琴...
    刘海波a阅读 651评论 37 81