常量指針/指針常量/常量指針常量的區別

  • 常量指針, 允許重新指向, 但是不允許修改指向地址的值
  • 指針常量, 不允許重新指向, 但是可以修改指向地址的值
  • 常量指針常量, 都不允許.
int main17(){
    int number1 = 100;
    int number2 = 200;
    //常量指針
    const int * number3 = &number1;
    //*number3 = 100; //報錯, 不允許修改 [常量指針] 存放地址所對應的值.
    number3 = &number2; //OK. 允許重新指向 [常量指針] 存放的地址

    //指針常量
    int * const number4 = &number1;
    *number4 = 150; //OK, 允許修改 [指針常量] 存放地址所對應的值.
    //number4 = &number2 //報錯, 不允許重新指向 [常量指針] 存放的地址

    //常量指針常量
    const int * const number5 = &number1;
//    *number5 = 150; //報錯, 不允許修改 [常量指針常量] 存放地址所對應的值.
//    number5 = &number2;//報錯, 不允許重新指向 [常量指針常量] 存放的地址

    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章