iOS之路18-const *與* const的區別

  1. 首先把握一個原則, const修飾誰, 誰不變spa


    int age = 10;    指針

    int money = 200;orm

    

    // 這裏const 修飾的是 *p1, *p1是不變的, 可是p1是可變的變量

    int const * p1 = &age;margin

    

    // 這裏const 修飾的是 p2,  p2是不變的,  可是*p2 是可變的top

    int * const p2 = &age; co

 

    *p1 = 999; // 錯誤 *p1 是不能修改的錯誤

    p1 = &money; // 正確const

    *p2 = 999;  // 正確

    p2 = &money; // 錯誤  p2是不能修改的




小結: 這裏*p1能夠理解爲 不能修改age的值(p1指向的變量地址的值), 可是能夠修改p1指針的指向, 讓其指向&money(money的地址), *p2 能夠理解爲 能夠修改p2指向變量的地址的值, 可是不能修改p2的指向, 對應着比較好理解

相關文章
相關標籤/搜索