函数传参方式分为两种,一是按值传递,而是按引用传递;
1.按值传递,(传进函数中的只是变量的一个副本,可以理解为,a复制了一份变成了a1,把a1传进函数中进行的一系列操作,自然函数体中不管怎样修改a1,外面的a是不会变化的)
如果,希望通过函数修改函数体外的变量的值时,可以这么做
另一个栗子
上面这一实例,不是传递普通的数值,而是把指针作为参数传递,运行结果说明,函数没有对指针做出修改,也是因为main函数中,调用change()函数时,传递给change()函数的也是head指针的一个副本,而不是head本身。
如果,希望通过函数修改函数体外的变量的值时,
此时,CreateList()的形参是指向指针的指针(也就是指针的内存地址),main()函数中调用CreateList()函数是,传进去的是指针的内存地址,事实上应该是内存地址的副本但是不管是本体还是副本,(*header)指向的都是指针本体,所以函数体中对指针指向的内容做了更改,在main()函数中体现出来了;