c++为什么要引用

#include<iostream>
using namespace std;
void fun(int *p)
{
	int b = 100;
	p = &b;
	cout << "p is:" << p<<"  " << *p << endl;
}
int main()
{
	int a = 10;
	int *q;
	q = &a;
	cout <<q<<"   "<< *q << endl;
	fun(q);
	cout << q << "   " << *q << endl;
	cout << a << endl;
	system("pause");
	return 0;
}

我对这段程序的理解在fun函数中b的地址赋给p了,为什么调用之后,q的地址不变。

5.当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变

如果函数的参数是指针类型变量,在调用该函数的过程中,传给函数的是实参的地址,在函数体内部使用的也是实参的地址,即使用的就是实参本身。所以在函数体内部可以改变实参的值。

发布了9 篇原创文章 · 获赞 15 · 访问量 3024

猜你喜欢

转载自blog.csdn.net/u010259177/article/details/79161655