关于函数的参数

来源:2-3 顺序表编码实战(二)

梦游病者

2018-12-13 19:53

这里参数为什么都要是Elem *e,我用Elem e不可以吗?

写回答 关注

1回答

  • Raindrips
    2018-12-14 19:30:27
    已采纳

    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以完成交换)
    }


    梦游病者

    明白了,谢谢

    2018-12-18 09:49:41

    共 1 条回复 >

数据结构探险之线性表篇

线性表的主体顺序表和链表,让学员能够将知识融会贯通学以致用

57564 学习 · 257 问题

查看课程

相似问题