Sdílet prostřednictvím


L-hodnota a hodnota výrazů

Výrazy, které odkazují na umístění v paměti se nazývají výrazy "l hodnota".L hodnota představuje hodnotu "vyhledávač" úložiště regionu nebo "left" hodnotu, zdání může zobrazit na levé straně znaménko rovná se (=).L-hodnoty jsou často identifikátory.

Výrazy odkazující na upravitelné umístění se nazývají "upravitelné l hodnoty. Upravitelné l hodnota nemůže být typu pole, neúplné typ nebo typ s const atributu.Struktury a unií se měnit hodnoty l, musí mít nejsou všechny členy s const atributu.Název identifikátoru označuje umístění úložiště, zatímco hodnotu proměnné hodnoty uložené v daném umístění.

Identifikátor je měnit hodnotu l odkazuje na umístění v paměti a její typ je aritmetický, struktura, unie nebo ukazatel.Například pokud ptr ukazatel myši do oblasti úložiště je pak *ptr je upravitelná l hodnota, která určuje oblast úložiště, které ptr bodů.

Jeden z následujících výrazů c lze hodnotu l výrazy:

  • Identifikátor integrál, plovoucí, ukazatele, struktury nebo typ union

  • Index ([]) výraz nelze vyhodnotit na matici

  • Výběr členů výraz (– > nebo .)

  • Nepřímé odkazování unární (*) výraz, který neodkazuje na matici

  • Výraz hodnotu l v závorkách

  • A b objektu (nonmodifiable l hodnota)

Termín "hodnota" se někdy používá k popisu hodnota výrazu a odlišit od l hodnota.Všechny hodnoty l jsou hodnoty r, ale ne všechny hodnoty r l hodnoty.

Konkrétní společnosti Microsoft

Microsoft c zahrnuje rozšíření standardu ANSI C, umožňující nádech l hodnoty jako l hodnoty, jako velikost objektu není reflektují prostřednictvím tavby.(Viz Převody typu Cast Další informace.) Následující příklad ukazuje tato funkce:

char *p ;
short  i;
long l;

(long *) p = &l ;       /* Legal cast   */
(long) i = l ;          /* Illegal cast */

Výchozí nastavení pro Microsoft C je, že jsou povolena rozšíření Microsoft.Pomocí možnosti kompilátoru /Za zakázat těchto rozšíření.

Konec konkrétní společnosti Microsoft

Viz také

Koncepty

Operandy a výrazy