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