Computer >> Máy Tính >  >> Lập trình >> lập trình C

lvalue và rvalue trong C

Giá trị lvalue (giá trị định vị) đại diện cho một đối tượng chiếm một số vị trí có thể nhận dạng trong bộ nhớ (tức là có một địa chỉ).

rvalues ​​được xác định bằng cách loại trừ. Mọi biểu thức đều là giá trị hoặc giá trị, do đó, giá trị là một biểu thức không đại diện cho một đối tượng chiếm một số vị trí có thể nhận dạng trong bộ nhớ.

Ví dụ:một phép gán yêu cầu một giá trị là toán hạng bên trái của nó, vì vậy giá trị sau là hợp lệ:

int i = 10;
But this is not:
int i;
10 = i;

Điều này là do tôi có một địa chỉ trong bộ nhớ và là một lvalue . Mặc dù 10 không có vị trí bộ nhớ có thể nhận dạng và do đó là giá trị . Vì vậy, việc gán giá trị của i cho 10 không có ý nghĩa gì.