typedef struct {
elemtype data[maxsize];
int length;
}Sqlist;
定义一个这样的线性表结构体。
理解C语言中的值传递和地址传递,如果没有用指针,而是直接用变量传递给函数,那么
这个传递是实参传递,实参不会改变;例如,int ListEmpty(Sqlist L) 这个没有指针变量,
所以下面函数直接把实参传递给了它,可以直接使用L.length表示长度;即下面调用时 ListEmpTy(l),并不是传地址;
如果这个变量是要改变的话,那么C语言中要使用地址传递,即ListEmpTy(Sqlist* L),这里面
的L是一个指针变量,用来存放传递过来的这个参数的地址,下面调用函数即要传递地址,
即ListEmpTy(Sqlist &l),这样子l这个变量的值会改变,使用里面的属性时要(*L).length或者L->length;
C++里面有一个引用方法,即&,它不是C语言中的取地址,当使用这个引用的时候,可以改变引用参数的值,即如果要改变L这个线性表的时候,调用的时候应该是DeleteList(&L),如果不加&,即跟C语言的是一样的,传递实参给它,但是实参是不会改变的。