報錯語句:
ElemType *pos = &(L.elem + i - 1); /*pos指向L表中的i處*/
下面類似表達不報錯:
*e = *(L.elem + i - 1);
令
ElemType *
b = L.elem + i - 1,則不報錯
究其原因,是因為
&符號必須作用於一個左值,而
elem+i-1為一個表達式,不是合法的左值。
關於左值:
在 c 中,左值既能夠出現在等號左邊也能出現在等號右邊,右值則是只能出現在等號右邊。左值必須是變量,且只能有一個變量。
