起因:
//原代码是用于删除顺序表中的最小元素
bool DeleteList(SqList *L)
{
if(L.Length == 0)//判断顺序表是否为空
{
return false;
}
---以下省略---
}
单这一段运行后,编译器报错如下:
[Error] request for member ‘Length’ in ‘L’, which is of pointer type 'SqList’ (maybe you meant to use ‘->’ ?)
大意是希望我将代码中的“L.Length”改成“L->Length”,可我偏不,我就要把函数形参处的“*L”改成“&L”,一样能跑。
这是为什么呢“https://blog.youkuaiyun.com/Elsa15/article/details/89630840”这篇文章有提到很关键的两句话:
点运算符(.)用于结构体变量访问成员。
箭头运算符(->)用于结构体指针变量访问成员。