Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Aká je hodnota l v programe c?

lvalue (skratka pre "hodnotu lokátora") je premenná alebo iný výraz, ktorý označuje miesto v pamäti. Inými slovami, je to ľavá hodnota alebo niečo, čomu môžete priradiť hodnotu.

Konštanta, premenná, pole alebo člen štruktúry môžu byť všetky považované za lhodnoty, pretože spĺňajú túto požiadavku.

Tu je niekoľko príkladov hodnôt lv C:

``` c

int pole[10];

int* pointer_to_array =&array;

int main() {

pole[0] =10; // pole[0] je lvalue

(*pointer_to_array) =10; // *pointer_to_array je tiež lvalue

návrat 0;

}

```

Nie všetky výrazy sú však lvalues. Napríklad volania funkcií a doslovné hodnoty sa nepovažujú za lvalues.

``` c

int funkcia(int a) {

// a nie je lvalue

vrátiť a + 10;

}

int main() {

// 10 nie je lhodnota

10 + 5;

}

```

Rozlišovanie medzi lvalues ​​a rvalues ​​(výrazy, ktoré neoznačujú pamäťové miesto) je kľúčové, pretože iba lvalues ​​je možné modifikovať pomocou operátora priradenia (=).

Tu je príklad, ktorý demonštruje rozdiel:

``` c

int main() {

// a je lvalue

int a =10;

// b je rhodnota

int b =10 + 5;

a + =5; // Toto je platné, pretože a je lvalue

// Toto je chyba pri kompilácii, pretože b je rvalue

b + =5;

}

```

Stručne povedané, lvalue je čokoľvek, čo zodpovedá umiestneniu v pamäti a čo môže byť na ľavej strane úlohy (=).

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené