C语言关键字之static and const

C语言关键字之static  and  const

static

1.修饰局部变量,改变其生命周期,不改变其作用域,改变后的生命周期直至文件销毁

2.修饰全局变量,改变其连接属性,使其只能在本文件中使用,即使使用extern外部声明也不行

3.修饰函数,改变其链接属性使其不可见

看一个例子

const

const 常量必须初始化
  • const 修饰成员变量  
    const  int  i = 0;表明i被声明为常量,不可修改
  • const  修饰指针变量 
       
    1.   const位于 * 的左侧时,表示指针所指数据是常量 ,不能修改其所指的数据,但是指针本身是变量,可以指向其他的内存单元   
      const  int  * p = &a;              
    2. const位于 * 的右侧时,表示指针变量本身是常量,不可修改其地址,但其所指的数据是常量可以通过引用修改
      int * const p = &a;
    3.   const  int * const p = &a;  表示两者均不可修改
  • const 修饰函数参数
    表示传递过来的函数参数在函数中不可修改

    void  mean_const(  const int a){

     a = 0;  //编译错误 ,a 的值不可修改   

    }

猜你喜欢

转载自blog.csdn.net/m_jianjianjiao/article/details/80150564