一分钟分辨常量指针和指针常量,再也不会忘记的那种

你只需要记住下面这句话就可以了:
**将变量定义式从右往左翻译为英文,其中的"*"译为pointer to **

下面开始实践。

  1. 常量指针 / 指向常量的指针(Pointer to Constant)
    这种指针不能通过它修改所指向的字符内容,但指针本身可以指向其他地址。
    const char* p1;
    p1 is a pointer to char const.
    p1是一个指针,它指向字符型常量。

  2. 指针常量 / 指针类型常量 / 常指针(Constant Pointer)
    这种指针本身的值(指向的地址)不能改变,但可以通过它修改所指向的内容(如果所指向的不是常量)。
    char* const p2;
    p2 is a const pointer to char.
    p2是一个常指针,它指向字符型(变量)。

  3. 指向常量的指针常量(Constant Pointer to Constant)
    这种指针既不能通过它修改所指向的内容,指针本身也不能指向其他地址。
    const char* const p3;
    p3 is a const pointer to char const.
    p3是一个常指针,它指向字符型常量。

posted @ 2024-10-24 09:01  icuic  阅读(2)  评论(0编辑  收藏  举报