zoukankan      html  css  js  c++  java
  • Item08. 多级指针(Pointers to Pointers)

    Item08. Pointers to Pointers

    指向指针的指针(多级指针)与指针有相同的地方也有不同的地方
    --------------------------------------------
    1、改变指针的地址指向

    void scanTo( const char **p, char c ) {                     
        while( **p && **p != c )                                
            ++*p;                                               

    char s[] = "Hello, World!";
    const char *cp = s;
    scanTo( &cp, ',' );//指向","

    2,优先使用指针的引用
    void scanTo( const char *&p, char c ) {
        while( *p && *p != c )
            ++p;
    }

    3,指针与多级指针的差别
    1)指针能用于多态,而多级指针不可以

    Circle *c = new Circle;
    Shape *s = c; // 正确...
    Circle **cc = &c;
    Shape **ss = cc; // 错误!     

    2)加上const搅合后,非指针常量可以赋值给指针常量,但不可以赋值给多级指针

    char *s1 = 0;
    const char *s2 = s1; // 正确...
    char *a[MAX]; // aka char **
    const char **ps = a; // 错误!

  • 相关阅读:
    JSTL笔记(胖先生版)
    EL表达式(胖先生版)
    包装类-Character
    String定义与方法
    冒泡排序(大熊版)
    tomcat Manger App
    第一天
    剑指offer:面试题5、从尾到头打印链表
    剑指offer:面试题4、替换空格
    剑指offer:面试题3、二维数组中的查找
  • 原文地址:https://www.cnblogs.com/aiwz/p/6333261.html
Copyright © 2011-2022 走看看