指针常量、常量指针和常量指针常量

来源:互联网 发布:程序员到底要学什么 编辑:程序博客网 时间:2024/06/06 03:04

我们在编写C/C++程序时经常将指针与常量之间的关系混淆,在此,我总结如下:

1、常量指针

指向常量的指针变量
例如:const int * iPointer;
const修饰指针指向的内容
*iPointer不可修改,而iPointer可修改
如:const int Max = 3;
    const int * iPointer = &Max;
    (* iPointer) = 3;错误
    iPointer = new int;正确
    int K = 5;
    iPointer = &K;正确

2、指针常量

指向变量的指针常量
例如:int * const iPointer;
const修饰指针
*iPointer可修改,而iPointer不可修改
如:int size = 3;
    int * const iPointer = &size;
    iPointer = new int;错误
    (*iPointer)++;正确

3、常量指针常量

指向常量的指针常量
例如:const int * const iPointer;
第一个const修饰指针指向的内容,第二个const修饰指针
*iPointer不可修改,iPointer也不可修改
如:const int Max = 3;
    const int * const iPointer = &Max;
    iPointer = new int;错误
    (*iPointer)++;错误
   

原创粉丝点击