C語言報錯:表達式必須為左值或函數指示符


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM