指针的有关问题
main(){
int a,b;
swa(a,b);
printf("%d%d",a,b);
getch();
}
swap(int x,int y)
{
int z
if(x>y)
{
z=x;
x=y;
y=z
}
}
为什么不能做到a,b的互换,一定要用指针呢?麻烦各位大虾深刻讲解其中道理?
调用处 swap(&a, &b); // 用&取址符提取变量的地址作为参数 函数处 void swap(type_name* x, type_name* y) // 用*表明传入的是指向类型名称为type_name类型的指针 { *x = value; // 用*给x地址处的数据赋值 }
调用处 swap(a, b); 函数处 void swap(type_name& x, type_name& y) // 用&表明传入的是类型名称为type_name类型的引用对象 { x = value; // 数据赋值,此处x就是调用处的a }