zoukankan      html  css  js  c++  java
  • 013 const和指针

    /*
    目录:
       一 常量指针 : const int *p 
       二 指针常量 : int const *p 
       三 指针常量 : int * const p
       四 指向常量的指针常量 : const int * const p 
                  int const * const p
        
    */
    const int *p;
    常量指针: 
        1 指向地址 - 可变
        2 指向数据 - 可以读取,不能写入
    
    int const *p;    
    int * const p;
    指针常量: 
        1 指向地址 - 不变 
        2 指向数据 - 可以读写

    一 常量指针 : const int *p

    // 常量指针 : const int *p
    int main(int argc, char *argv[])
    {
        int i = 10;
        int j = 20;
        const int *pInt = &i;
        printf("%d
    ", *pInt);
    
        pInt = &j;    // 指向地址 - 可变; 指向数据 - 不变
        printf("%d
    ", *pInt);
    
        // *pInt = 2;    // error C3892: “pInt”: 不能给常量赋值
        
        return 0;
    }

    二 指针常量 : int * const p

    // 指针常量 : int * const p 
    int main(int argc, char *argv[])
    {
        int i = 10;
        int j = 20;
        int * const pInt = &i;
        printf("%d
    ", *pInt);
    
        *pInt = 1;    // 指向地址 - 不变; 指向数据 - 可变
        printf("%d
    ", *pInt);
    
        // pInt = &j;    // error C3892: “pInt”: 不能给常量赋值
    
        
        return 0;
    }


    三 指针常量 : int * const p

    // 指针常量 : int * const p
    int main(int argc, char *argv[])
    {
        int i = 10;
        int j = 20;
    
        int * const p = &i;
        printf("%d
    ", *p);
    
        *p = 1;
        // p = &j;    // error - 地址
    
        return 0;
    }


    四 指向常量的指针常量 : const int * const p

    // 指向常量的指针常量
    int main(int argc, char *argv[])
    {
        int i = 10;
        int j = 20;
        const int * const p = &i;
        printf("%d
    ", *p);
    
        // *p = 1;    // error
        // p = &j;    // error
    
        return 0;
    }
  • 相关阅读:
    JVM——类加载
    Java IO输入输出
    核心标签库和el
    request对象
    安装tomcat
    安装mongodb
    MySQL在简单命令行操作
    安装MySQL
    Java几种常见的异常类型
    Java简单正则表达式写爬虫
  • 原文地址:https://www.cnblogs.com/huafan/p/11519399.html
Copyright © 2011-2022 走看看