指针常量与常量指针

1.指针常量

   int * const p=null;

2.常量指针

   int const *p = null;

3.指针和 const 谁在前先读谁 ;

*象征着地址,const象征着内容; 谁在前面谁就不允许改变。

改变指针b指向地址的内容

   int main()
   {
    int a = 2;
    int const *b = &a;
    *b = 3;          //报错:expression must be a modifiable lvalue    
    printf("albert:%d\n",a);

   }
   #改变指针b的指向
   int main()
   {
    int a = 2;
    int b = 3;
    int const *c = &a;
    printf("albert:%p\n", c);    
    c = &b;
    printf("albert:%p\n",c);
   }

案例2:指针指向的地址不可以重新赋值,但内容可以改变。

   int main()
   {
    int a = 2;
    int b = 3;
    int *const c = &a;
    printf("albert:%p\n", c);
    c = &b;                     //报错:expression must be a modifiable lvalue 
    printf("albert:%p\n",c);

   }

   int main()
   {
    int a = 2;
    int b = 3;
    int *const c = &a;
    *c = 4;
    printf("albert:%d\n",*c);   //4
   }

指针和函数

void swap(int *a,int *b){
    int tmp = *a;
    *a = *b;
    *b = temp;
}

用途:

1. 改变参数本来的值

2. 用于返回更多的值

评论区 5

    fengdaxian (作者)
    2022-02-03 21:30

    :&(蛆音娘_摊手)

    fengdaxian (作者)
    2022-02-03 22:39

    :@(高兴)

    你 (读者)
    2022-02-04 09:31

    你好,我是你哥

    MK (读者)
    2022-02-04 11:09

    :@(赞一个)

      冯仁尧 (读者)
      2022-02-04 11:51

      ୧(๑•̀⌄•́๑)૭