c一:指针引用(int * p )和指针(int * q)的区别
生活随笔
收集整理的这篇文章主要介绍了
c一:指针引用(int * p )和指针(int * q)的区别
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
#include <iostream>using namespace std;int g = 300;void print(int p, int q)
{cout << p << endl << q << endl;
}/*
* 1. int *&p 定义一个指针引用,既可以改变指针指向的内容,也可以改变指针本身,p只是一个名字, 不会为p开辟内存空间
(说白了,指针引用只是指针的一个别名)
* 2. int *q 定义一个指针,可以改变指针指向的内容,但无法改变指针本身.
*/
void set(int* &p, int* q)
{p = &g; // p是引用类型,可以改变传进参数的指向q = &g; // q 不会改变参数的指向
}
int main()
{int a = 10, b = 20;int *pa = &a, *pb = &b;print(a,b);cout << pa << endl << pb << endl;set(pa, pb); // pa现在指向g,但pb还是指向bprint(a, b);cout << pa << endl << pb << endl;print(*pa, *pb);return 0;}
总结
以上是生活随笔为你收集整理的c一:指针引用(int * p )和指针(int * q)的区别的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: python十二:字符串格式化
- 下一篇: c三:string