Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

lvalue และ rvalue ในภาษา C


lvalue (locator value) หมายถึงวัตถุที่ครอบครองตำแหน่งในหน่วยความจำที่ระบุได้ (เช่น มีที่อยู่)

rvalues ถูกนิยามโดยการยกเว้น ทุกนิพจน์จะเป็น lvalue หรือ rvalue ดังนั้น rvalue คือนิพจน์ที่ไม่แสดงถึงวัตถุที่ครอบครองตำแหน่งในหน่วยความจำที่ระบุได้

ตัวอย่างเช่น การกำหนดคาดหวัง lvalue เป็นตัวถูกดำเนินการทางซ้าย ดังนั้นสิ่งต่อไปนี้ถูกต้อง:

int i = 10; แต่สิ่งนี้ไม่ถูกต้อง: int i; 10 = i;

เนื่องจาก i มีที่อยู่ในหน่วยความจำและเป็น lvalue ในขณะที่ 10 ไม่มีตำแหน่งหน่วยความจำที่ระบุได้ จึงเป็น rvalue การกำหนดค่าของ i ให้กับ 10 จึงไม่มีความหมาย