vc++里的问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 23:45:05
swap(int*x,int*y)
int a,b;
swap(a,b);
上面是一段程序中抽取的几句,定义函数的时候定义的参数是指针型的,为什么实参可以是整型的呢?

swap(int *x,int *y)
int a,b;
swap(a,b);
这段代码是编译不过去的.

要么是
swap(int *x,int *y)
swap(&a, &b)

要么是swap(int &x, int &y)
swap(a, b)

错了,如果是swap(a,b);则上面的函数头应该是
swap(int&x,int&y)应该是看错了,是指针的话,就应该传地址swap(&a,&b);

指针指向的是地址,地址也是数据啊,
但是这样做不能改变地址值或地址里面的数据