美文网首页
指针常量和常量指针

指针常量和常量指针

作者: frankisbaby | 来源:发表于2018-09-05 14:47 被阅读12次

    参考博客:

    https://blog.csdn.net/xingjiarong/article/details/47282255

    常量指针是指针指向的内容是常量:

    int a =5;

    const int*n = &a;

    *n=6;

    上边这段代码会报错,因为n是一个常量指针,不能通过指针来改变指针所指向的变量的值;

    但是下边这段代码是允许的,即可以通过其他引用变量来改变变量的值

    n = &b;

    指针常量是指指针本身是个常量,不能再指向其他的地址;

    int a =5;

    int a =500;

    int *const n = &a;

    n = &b;

    上边这段代码会报错,因为指针常量不允许指向其他的地址;但是地址中保存的数值是可以改变的。

    我们常用的是指针常量,确保指针变量不能被修改,而不是地址中保存的值。

    记忆小技巧

    区分常量指针和指针常量的关键就在于星号的位置,我们以星号为分界线,如果const在星号的左边,则为常量指针,如果const在星号的右边则为指针常量。如果我们将星号读作"指针",将const读作"常量"的话。美容正好符合。int *const n是指针常量,int const *n是常量指针;

    相关文章

      网友评论

          本文标题:指针常量和常量指针

          本文链接:https://www.haomeiwen.com/subject/rceawftx.html