C语言指向常量的常量指针

指向常量的常量指针很少派上用场。这种指针本身不能修改,它指向的数据也不能通过它来修改。下面是指向常量的常量指针的一个例子:

const int * const cpci = &limit;

指向常量的常量指针可以用图1-14来说明。

指向常量的常量指针

与指向常量的指针类似,不一定只能将常量的地址赋给cpci。如下所示,我们其实还可以把num的地址赋给cpci

int num;
const int * const cpci = #

声明指针时必须进行初始化。如果像下面这样不进行初始化:

const int * const cpci;

就会产生如下语法错误:

'cpci' : const object must be initialized if not extern

对于指向常量的常量指针,我们不能:

  • 修改指针;
  • 修改指针指向的数据。

重新赋给cpci一个新地址:

cpci = #

会导致如下语法错误:

'cpci' : you cannot assign to a variable that is const

像下面这样试图解引指针并赋新值:

*cpci = 25;

会产生如下错误:

'cpci' : you cannot assign to a variable that is const
expression must be a modifiable lvalue

不过,指向常量的常量指针很少用到。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程