C/C++中的const限定修饰符

来源:互联网 发布:淘宝助理打印快递单 编辑:程序博客网 时间:2024/05/18 12:03

C/C++中的const限定修饰符

    const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。

    1.变量前的const

       如:a.const int i1 = 1;

             b.int const i2 = 2;

       a和b所定义的两个int型数据是同一种含义,他们都是int型常量。

       从顺序上来看b的定义更加容易理解一些,整形的常量i2。

       注意:常量是需要初始化的。没有初始化的常量是无法通过编译。

     2.指针前的const

             前提:int tmp = 1;

             c.const int *pi1 = &tmp;

             d.int const *pi2 = &tmp;

             e.int *const pi3 = &tmp;

             f.const int *const pi4= &tmp;

             g.const int const *pi5 = &tmp;

       c的含义是:一个指向int型的、被定义成const的对象的指针。*pi1不可变,pi1可变。

       d的含义是:与c相同,一个指向int型的、被定义成const的对象的指针。从顺序上来看d的定义更加容易理解一些。也就是说,c和d不定的指向不可以修改的内存地址。

       e的含义是:一个指向int类型对象的const指针。它和c以及d的有点相反的意思在里面,*pi3可变,Pi3不可变,也就是说,e它恒定指向一块可以修改的内存地址。

       f的含义是:一个指向int型的、被定义成const的对象的const指针。*pi4不可变,pi4不可变

       g的含义是:与f相同,一个指向int型的、被定义成const的对象的const指针。也就是说,f和g恒定的指向一块布可以修改的内存地址。

原创粉丝点击