zoukankan      html  css  js  c++  java
  • const修饰指针时应注意的问题

    1.指向常量的指针

      顾名思义,一个指针指向const对象,则称它为指向常量的指针。

    1 const int a=10;
    2 int* ptr=&a;        //错误
    3 const int* ptr=&a;    //必须用const来说明ptr是一个指向常量的指针

    指向常量的指针也可以指向一个非const对象,所谓指向常量的指针只是要求不能通过它来改变对象的值,而那个对象是可以通过其他途径来改变的:

    1 int c = 6;
    2 const int* ptr = &c;
    3 int const* ptr = &c;     //这样也是可以的,只要*在const右边
    4 *p = 4;             //错误
    5 c = 4;              //正确

    2.常量指针(const pointer)

      指针是一个对象,所以可以把指针本身定位为const常量,这样的指针则称为常量指针

    1 int* const ptr;      //错误,常量指针必须初始化
    2 int a=10;
    3 int* const ptr=&a;    //初始化后,ptr存的只能是a的地址值,不能改变了
    4 *ptr=12;          //因为a不是一个常量,所以是可以通过ptr来修改a的值的

    3.指向常量的常量指针

    1 const int a=6;
    2 const int* const ptr=&a;    //ptr自己是常量,它指向的对象也是常量
  • 相关阅读:
    hdoj-1004-Let the Balloon Rise(水题)
    hdoj-1827-Summer Holiday(scc+缩点)
    poj--3624--Charm Bracelet(动态规划 水题)
    HDU
    HDU
    HDU
    HDU
    【POJ1654】Area【叉积】
    【POJ1654】Area【叉积】
    【SSLOJ1715】计算面积【叉积】
  • 原文地址:https://www.cnblogs.com/Joezzz/p/9719206.html
Copyright © 2011-2022 走看看