开发者社区 问答 正文

常量指针与指针常量的区别?

常量指针与指针常量的区别

展开
收起
游客py5kcp7dd6tu6 2022-03-28 23:56:33 409 分享 版权
1 条回答
写回答
取消 提交回答
  • (1)常量指针,如

    const char *p;

    此语句定义的是一个常量指针,即指向一个常量的指针,指向的内容是常量,不可修改,但指针本身是可以修改的,如 *p = ‘4’;它试图改变指针指向内容的值,而此值是常量不可修改,故此语句是非法的;但 p = &‘4’是可以的,指针可以指向不同的地址。

    (2)指针常量,如

    char* const p = &a;

    这条语句定义的是一个指针常量,即指针本身是常量,不可修改,但指针指向的内容是可以修改的,即 *p = ‘a’,这是可以的,但 p = &b 就是非法的,不可以的。

    2022-03-28 23:56:58
    赞同 展开评论
问答地址: