zoukankan      html  css  js  c++  java
  • const关键字在C语言中的作用总结

    1. 修饰变量

      C语言中采用const修饰变量,功能是对变量声明为只读特性,并保护变量值以防被修改。举例说明如下:

      const int i = 5;

      上面这个例子表明,变量i具有只读特性,不能够被更改;若想对i重新赋值,如i = 10;则是错误的。

      值得注意的是,定义变量的同时,必须初始化。定义形式也可以写成int const i=5,同样正确。

      此外,const修饰变量还起到了节约空间的目的,通常编译器并不给普通const只读变量分配空间,而是将它们保存到符号表中,无需读写内存操作,程序执行效率
      也会提高。

    2. 修饰数组

      C语言中const还可以修饰数组,举例如下:

      const int array[5] = {1,2,3,4,5};

      array[0] = array[0]+1; //错误

      数组元素与变量类似,具有只读属性,不能被更改;一旦更改,如程序将会报错。

    3. 修饰指针

      C语言中const修饰指针要特别注意,共有两种形式,一种是用来限定指向空间的值不能修改;另一种是限定指针不可更改。举例说明如下:

      int i = 5;

      int j = 6;

      int k = 7;

      const int * p1 = &i; //定义1

      int * const p2 =&j; //定义2

      上面定义了两个指针p1和p2。

      在定义1中const限定的是*p1,即其指向空间的值不可改变,若改变其指向空间的值如*p1=20,则程序会报错;但p1的值是可以改变的,对p1重新赋值如p1=&k是没有任何问题的。

      在定义2中const限定的是指针p2,若改变p2的值如p2=&k,程序将会报错;但*p2,即其所指向空间的值可以改变,如*p2=80是没有问题的,程序正常执行。

    4. 修饰函数参数

      const关键字修饰函数参数,对参数起限定作用,防止其在函数内部被修改。所限定的函数参数可以是普通变量,也可以是指针变量。举例如下:

      void fun1(const int i)

      {

      其它语句

      ……

      i++; //对i的值进行了修改,程序报错

      其它语句

      }

      void fun2(const int *p)

      {

      其它语句

      ……

      (*p)++; //对p指向空间的值进行了修改,程序报错

      其它语句

      }



  • 相关阅读:
    android 多线程
    Uva 10881 Piotr’s Ants 蚂蚁
    LA 3708 Graveyard 墓地雕塑 NEERC 2006
    UVa 11300 Spreading the Wealth 分金币
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    HDU 4162 Shape Number
    HDU 1869 六度分离
    HDU 1041 Computer Transformation
    利用可变参数函数清空多个数组
  • 原文地址:https://www.cnblogs.com/baconZhang/p/13813845.html
Copyright © 2011-2022 走看看