指针和const分析

 int age = 39;
   int a = 34;
           //第一种用法适合于保护age的值不被修改。
    const int *pt = &age; //定义一个指针常量,不能用pt修改age的值,但可以改变pt指向的地址。pt = &a;
      //*pt = *pt + 5;   错误的做法,*pt是一个常量,
      //第二种用过,保护pt指向的地址不被修改。
       int * const pt = &age;  //合法用过,修改了pt指向的地址。
       //pt = &a;      非法操作,试图修改pt指向的地址。
       age = 90;
       *pt = *pt + 3;  //可以修改*pt的值,age的值也跟着改变。
       //第三种 以上两者都不能改变。
       const int *const pt = &age;  //指向常量的常指针,不能修改pt的地址和指向的常量值。
      printf("%d\n", *pt);
      printf("%d\n", age);
引用于指针的不同
 1 表示方式不同
 2 声明引用时必须进行初始,而不能像指针那样可以先声明再赋值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值