first blog for C

1、指向常量的指針,防止通過指針去修改變量的值,而不管變量是否我const
int x =3;
const int *pc = &x;

*pc = 888;
printf("x=%d\n",x);

2、指向常量的指針,該指針可以指向別的變量,指針的value是可以更改的;

pc  = &bb ; //可以

3、指向常量的指針,不能賦值給一個普通的指針;

定義基本類型的const變量 const在哪都可以;
const Int x=2,y=3;

定義一個非const變量;
int z =3;

定義一個指向常量的指針;。。常指針!!!保護指針不被修改
const int *pc = &x;

定義一個常指針;
int *const cp = &z;

定義一個非const 指針

int *pp = &z;

z=y; //const 變量只能做右值,不能做左值

x = y x是const變量,所以x的值是不可修改的

pc  = &z;//pc是指向常量的指針,不能通過該指針修改指針所指的內存空間的值

//但是,該指針可以指向別的變量;

*pc = 10;//this is false because this *pc 是一個指向常量的指針;

*pc = y;//同上;

pc = pp;//pc是一個指向常量的指針。pp是一個普通的指針,用一個普通的
       // 指針給一個指向常量的指針賦值是可以的;
 
pp = pc;//用一個指向常量的指針賦值給一個普通指針 ;不可以;
         //如果可以,那麼就可以通過普通指針去修改內存空間的值了,

z= 5;給一個非const的變量賦值
z= x;//const 給非const 去賦值也是可以的額!!!!

*cp = x;//通過常指針去修改指針指向變量的值,原則上來講是可以的;
        //如果指向的變量是const的,那麼不同編譯會有不同的結果;

cp = &x;//常指針 指針的值不能被修改。給常指針的地址錯誤的


int swap (const int*)保護內存區域不被修改

pp  = &x;//可以。,非const指針;!!!!!!!!!!!!!


const char* str;;//指向常量的指針;指針是不可修改內容,但是是可以被讀取的
不能賦值給一個普通指針;

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