测试代码:
#include#include using namespace std; //传地址 void test(int* a) { cout <<"指针a地址:" << a <<" 值:" << *a<< endl; } //传值 void test1(int a) { cout << "值a地址:" << &a << " 值:" << a << endl; } int main() { int m = 10; int* s = &m; cout << "s地址:" << s << " 值:" << *s << endl; cout << "m地址:" << &m << " 值:" << m << endl; test(s); test1(*s); }
运行结果:
总结1、参数传值,函数内使用的过程是先将传过来的值拷贝出来给函数参数,此时 的函数参数的地址和传的参数的地址不同(只是单纯的值相同) 2、参数传地址(传指针),函数参数和传来的参数的地址相同,这时改变函数参数 的值,也会改变传来参数的值,从地址上改变值。(没有拷贝,让他们同一个地址)



