问题一:InitList(&L)与InitList(L)的区别
问题二:i,j,k不需要定义吗
举个最简单的例子:
#include <iostream>
using namespace std;
void fun1(int i)
{
i = 1999;
}
void fun2(int &i)
{
i = 2019;
}
int main()
{
int data = 2021;
fun1(data);
cout << data << endl;
fun2(data);
cout << data << endl;
return 0;
}
在这个例子里面, fun1()
并没有改变 main()
中 data
的值,所以第一个输出还是2021,然后 fun2()
改变了 main()
中 data
的值,使他变成了2019。还有一点就是只有在C++中才有引用( &
),C语言是没有引用的。
在数据结构这门课程里面,许多地方写的比较简略,比如变量的声明,但是无论是C还是C++,变量在使用前必须先得声明,当然也有一些语言(比如Python)可以直接使用而无需声明。
没有&的话,只是传值,就比如说L1=1,然后传值给L2,那么L2也会等于1,但是L1和L2不是同一个东西。有&的话就是引用,L2和L1是相同的一个东西。
ijk肯定需要定义囖,不用怀疑自己。