请问各位专家,这里经过函数运行的结果之后p和q本身的地址和指向对象的值都没有发生改变是为什么?
#include <iostream>
using namespace std;
void func1(int*, int*);
int main()
{
int* p, * q, a = 1, b = 2;
p = &a;
q = &b;
cout << p << " " << *p << endl;
cout << q << " " << *q << endl;
func1(p, q);
cout << p <<" "<< * p << endl;
cout << q <<" "<< * q << endl;
}
void func1(int* p, int*q)
{
p = q;
*p = *q;
}
运行结果:
000000752414FAA4 1
000000752414FAC4 2
000000752414FAA4 1
000000752414FAC4 2