指针常量与常量指针
程序员文章站
2023-01-13 10:57:56
``` // // main.cpp // pointer // 指针常量与常量指针 // 不管是指针常量还是常量指针其本质都是指针,所以他们需要赋值的是一个地址。 // 很多时候利用指针进行输出的时候 总是输出指针的地址了,经常性的忘记需要输出指针地址中的内容。 // const int 还是in ......
// // 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;
既不能改变指向,也不能改变指向内存中的值。 - 如果函数的形参中有引用,那么在调用函数传参的时候注意与指针形参的区别。