const修饰符和指针

    技术2022-05-11  10

          const和指针一起使用有三种组合情况:指向常量的指针、常指针、和指向常量的常指针。

     

    一、指向常量的指针

          定义:  const 数据类型 *指针变量名

          含义:  一个指向常量的指针变量。

          说明:  此指针可更改指向其他的常量,但此指针所指向的常量不能被更改。

          例子:  

                     const char *name = "chen";      //声明指向常量的指针name

                     name[3] = 'a';         //出错,指针所指向的变量的值不能改变

                     name = "zhang";    //合法,指针自身的值可改变

     

    二、常指针

          定义:  数据类型 *const 指针变量名 = 初始化值

          含义:  一个指向变量的不可改变的指针变量。

          说明:  在定义常指针时必须初始化;

                     此指针的值不可改变,但此指针所指向的变量值可改变。

          例子: 

                      char *const name = "chen";     //声明常指针name

                      name[3] = 'a';         //合法,指针所指向的变量值可改变

                      name = "zhang";    //出错,指针自身值不可改变

     

    三、指向常量的常指针

          定义:  const 数据类型 *const 指针变量名 = 初始化值

          含义:  一个指向常量的常指针变量。  

          说明:  在定义时此指针必须初始化;

                     此指针的值和它所指向的常量的值均不可被改变。

          例子: 

                     const char *const name = "chen";        //声明指向常量的常指针

                     name[3] = 'a';           //出错,指针所指向的变量值不可改变

                     name = "zhang";      //出错,指针自身值不可改变


    最新回复(0)