当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 指针常量与常量指针

指针常量与常量指针

2019年04月07日  | 移动技术网IT编程  | 我要评论

旧木料,swyt,盖网英国

//
//  main.cpp
//  pointer
//  指针常量与常量指针
//  不管是指针常量还是常量指针其本质都是指针,所以他们需要赋值的是一个地址。
//  很多时候利用指针进行输出的时候 总是输出指针的地址了,经常性的忘记需要输出指针地址中的内容。
//  const int *还是int const * 都是指针常量 ,那常量指针怎么写法?常量指针是在int 与 const之间写* 即:int *const
//  created by mac on 2019/4/6.
//  copyright © 2019年 mac. all rights reserved.
//

#include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
    int b=3;
    int c=4;
    int e=40;
    int f=80;
    //指针常量:指的是一个指针指向一个常量
    const int *q =&b;
    cout<<*q<<endl;
    q=&c;
    cout<<*q<<endl;
    //*q=5;//可以改变指针的方向,但是指向的地址的值无法修改。
    
    
    //常量指针----本质是个指针,但是这个指针是常量的,意味着你是不可以随便的就可以更改指针的指向的。
    
    int *const p=&e;
    cout<<*p<<endl; //输出指针指的内容
    //换个指向,让他指向f
    //p=&f;
   // cout<<*p<<endl;
    
    //给他换个值
    *p=90; //这个语句是错误的 也就是说也是指针常量
    cout<<*p<<endl;
    return 0;
}

tips

  • 除此之外需要警惕指向常量的常量指针。const int *const p = &q;既不能改变指向,也不能改变指向内存中的值。
  • 如果函数的形参中有引用,那么在调用函数传参的时候注意与指针形参的区别。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网