zoukankan      html  css  js  c++  java
  • 详解 常量指针和指针常量

    说一下 常量指针指针常量 的区别。

    常量指针

      指向常量的指针,也就是说指针指向的对象是常量,指向的常量不能修改。指针不是一个常量,

    可以把指针指向别一个常量。

    常量指针是我们最常用的,一般声明形式如下:

        const int *p;
        
        int const *p;

    例:

        int a(1), b(3);
        const int *p; // 或者是 int const *p;
        p = &a;
        std::cout << "address  :  " << p << "   value : " << *p << std::endl;
        p = &b;
        std::cout << "address  :  " << p << "   value : " << *p << std::endl;

    上边的代码是正确的用法。

    不可以对指向的内容做修改:

    *p = 3; // 错误

    指针常量

      指针指向的地址不可以改变,地址的内容可以通过指针改变。指针常量在定义时必须赋值。

    例:

        int a(1), b(3);
        int *const p = &a; 
        *p = a;
        std::cout << "address  :  " << p << "   value : " << *p << std::endl;
        *p = b;
        std::cout << "address  :  " << p << "   value : " << *p << std::endl;

    上边的代码是正确的使用方式。

    不能对指向的地址进行修改:

    p = &b; // 错误

    我们也可以这样记

    const 在谁前边谁就不可以修改:

    常量指针 : const 在指针前边,我们就不可以修改指针。

    指针常量 : const 在变量前边,我们就不可以修改指针的地址。

  • 相关阅读:
    梅特卡夫法则(Metcalfe's law)
    jffs2reset 实现分析
    uhttpd配置文件分析
    疑问????
    ubuntu 修改root密码
    原始套接字
    位操作
    linux命令readlink
    awk 中 FS的用法
    Python做简单爬虫(urllib.request怎么抓取https以及伪装浏览器访问的方法)
  • 原文地址:https://www.cnblogs.com/li-peng/p/4515710.html
Copyright © 2011-2022 走看看