trybye
2015-10-26 02:49
采纳率: 23%
浏览 1.8k
已采纳

const的相关,修改定义的变量

const int a;与const int*pi,int *const pi;是不是不一样啊,前面的那个a的值不能通过a=8;和pi=&a的形式来修改吧,
但是后面的那2个可以通过这两种中的一种修改的把,比如const int*pi中,不能对*pi进行修改,但是可以对pi进行重新赋值啊,这样不就间接改了*pi了吗,是这样的吗

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • ziank0111 2015-10-26 03:20
    已采纳

    const int * pi 和const char * p是一样的,都是说明不能直接对指针指向的地址赋值,而可以修改指针本身。像你说的对pi重新赋值后,确实是间接的修改了 * pi的值,但是在内存中原来的地址指向的内容还是没有发生变化的。

    打赏 评论

相关推荐 更多相似问题