const ;static;extern的使用与作用

时间:2022-05-04 21:40:40

 const                                                                /**
     const :常量
     const  与宏的区别
     1.编译时刻 : const: 编译时刻 ,  宏:预编译
     2.编译检查: const  会检查错误 , 宏: 不会检查错误
     3.宏的好处: 可以定义代码
     4.宏的坏处: 编译时间过长, 因此常用的字符串通常使用 const修饰
     注意:很多博客说宏使用的多了会造成内存不断增加,每次都会分配一个内存, 打印地址可以验证

const 作用:
     1.仅仅是用来修饰右边的变量(只能修饰变量:基本变量,指针变量,对象变量)
     2.const修饰的变量表示只读

2.*static作用
     *static作用
     1.修饰局部变量
       * 延长这个局部变量的生命周期,只要成员运行,局部变量就会一直存在
       * 局部变量只会分配一次内存,为什么?用 static修饰的代码,只会在程序一启动,就会执行,以后就不会再执行
     2.修饰全局变量
       * 只会修改全局变量的作用域,表示会只能是当前文件使用
 
3.  extern 作用:
 
     extern 作用:
      1.声明一个全局变量,不能定义变量
       注意: extern 修饰的变量不能初始化
       使用场景 : 一般用于声明一个全局变量
 
 static const 一起使用
    //表示修饰的内容只能在本文件中使用,并且是只读的,不能改
 
5.   static 不需要共享我们的全局常量
     extern 共享我们使用全局变量