指针与

const与指针的两种用法区别:

  1. const int *p;//定义了一个指向常量的指针(也就是说不可通过指向常量的指针修改其对应的值)
    例如:

    int a =100;
    const int *p;
    p = &a;
    ~~*p=20;~~ .//这是错误的用法,常量a的值不可以修改,*p的值是只读的。
    
  2. int *const p2 ;定义了一个常量指针,这种指针只能指向固定的一个地址,即若已经指向了一个地址,则该指针不可再修改;但是可以通过该指针修改指向的值。
    例如:

    int a =0;
    int *const p2  = &a;
    *p = 10;//合法
    //若是再次赋值,则是不允许的
    int b = 22;
    //!!!!!!!!   p2=&b;//不允许!
    

所以在使用的时候要注意分清楚。

猜你喜欢

转载自blog.csdn.net/P_CSDN_Sam/article/details/82955324