const关键字的理解

        const是constant的简写,只要一个变量前面用const来修饰,就意味着该变量里的数据可以被访问,不能被修改。也就是说const意味着“只读”readonly

        规则:const离谁近,谁就不能被修改。

关于const使用时的两种常见情况:

       1.定义常量:

          ① const修饰变量,以下两种定义形式在本质上是一样的。它的含义是:const修饰的int类型的变量值value是不可修改的。

                          int const a  =  value; 
                          const int a = value;


         ②将const改为外部连接,作用于扩大至全局,编译时会分配内存,并且可以不进行初始化,仅仅作为声明,编译器认为在程序其他地方进行了定义.

                          extend const int a  = value;

       2.定义指针:

         ①指针本身是常量不可变,指针所指向的内容可以改变。
                          char*  const  ptr; 

         ②指针所指向的内容是常量不可变,指针本身可以改变。
                         const char  *ptr; 

         ③两者都不可变
                         const  char*  const  ptr;

         区别方法,沿着*号划一条线:
                 如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
                 如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量。
 

猜你喜欢

转载自blog.csdn.net/ENSHADOWER/article/details/83243075