zoukankan      html  css  js  c++  java
  • 指向常对象的指针变量

    //首先了解指向常变量的指针变量,然后再进一步研究指向常对象的指针变量。
    //定义一个指向常变量的指针变量ptr
                  const   char * ptr;
    //定义指向常变量的指针变量的一般形式为
               const  类型名 *指针变量名;
    //注意  a如果一个变量已被声明为常变量,只能用指向常变量的指针变量指向它,而不能用一般的(指向非const型变量的)指针变量去指向它。
      //    b指向常变量的指针变量除了可以指向常变量外,还可以指向未被声明为const的变量。此时不能通过此指针变量改变该变量的值。
    如char  c1='a';  
    const char *p;
    p=&c1;
    *p='b';//非法
    c1='b'//合法
    //       c如果函数的形参是指向非const型变量的指针,实参只能用指向非const变量的指针,而不能用指向const变量的指针
      //     d如果函数的形参是指向const型变量的指针,在执行函数过程中显然不能改变指针变量所指向的变量的值,因此允许实参是指向const变量的指针,或指向非const变量的指针。
    //以上介绍的是指向常变量的指针变量,指向常对象的指针变量的概念和使用是与此类似的
    //常对象
    //a如果一个对象已被声明为常对象,只能用指向常对象的指针变量指向它,而不能用一般的(指向非const型对象的)指针变量去指向它。
    //b如果定义了一个指向常对象的指针变量,并使它指向一个非const的对象,则其指向的对象是不能通过指针来改变的。
    //c指向常对象的指针最常用于函数的形参,目的是在保护形参指针所指向的对象,使它在函数执行过程中不被修改  形参是const   , 要求实参可以是非const,也可以是const
    //d如果定义了一个指向常对象的指针变量,是不能通过它改变所指向的对象的值的,但是指针变量本身的值是可以改变的。

  • 相关阅读:
    (一二二)核心动画进阶
    1089. Insert or Merge (25)
    (一二一)核心动画基础
    (一二〇)CALayer的一些特性
    (一一九)通过CALayer实现阴影、圆角、边框和3D变换
    1086. Tree Traversals Again (25)
    POJ 2610:Dog & Gopher
    模拟内存分配(链表实现)
    圣诞树后能找到我的记忆
    YTU 2797: 复仇者联盟之关灯
  • 原文地址:https://www.cnblogs.com/sxy201658506207/p/7586421.html
Copyright © 2011-2022 走看看