这里参数为什么都要是Elem *e,我用Elem e不可以吗?
Elem *e 是传入地址值,e的值发生在函数体内改变后会将原来的值同时改变,目的为了返回e的值
例:
void swap(int a,int b){
int t=a;
a=b;
b=t;
}
void swap2(int *a,int *b){
int t=*a;
*a=*b;
*b=t;
}
int main(){
int a=2,b=3;
swap(a,b); // a=2 b=3 (ab的值未发生改变)
swap2(&a,&b); // a=3 b=2 (ab以完成交换)
}