const char *p,char * const p,char const *p 的區別

 

區別這些,可以根據const離那個變量的距離最近加以區分:

指向常量的指針:const char *p  顯然和char const *p一樣,都可以等價於const (char *p),它的意思是把char *p聲明爲常量,不能通過指針來改變所指對象的值,但指針本身可以改變,可以指向其他的對象。

#include<iostream>
using namespace std;
int main ()
{
    const int *p2;
    int i = 2;
    p2 = &i;
    cout<< "p2 = "<<p2++<<endl;
    cout<< "*p2 = "<<*p2<<endl;
    cout<< "p2 = "<< p2 <<endl;
    cout<< "*p2 = "<<*p2<<endl;

用來確保指針所指的變量不改變。  

指針類型的常量:char *const p 指針本身的值不能被改變。


發佈了42 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章