L-wartość i wartość wyrażenia
Wyrażenia, które odwołują się do lokalizacji pamięci są nazywane "l wartość" wyrażeń.L wartość reprezentuje obszar magazynowania "locator" wartość lub wartość "lewa", co oznacza, że może być wyświetlany po lewej stronie znaku równości (=).L-wartości są często identyfikatorów.
Określeń odnoszących się do lokalizacji modyfikowane są nazywane "modyfikowalnych l wartości." Można modyfikować wartości l nie może mieć typ tablicy, niekompletnemu typowi lub typu z const atrybut.Dla struktur i związków być modyfikowane przez wartości l nie muszą mieć członków z const atrybut.Nazwa identyfikatora oznacza miejsce przechowywania, podczas gdy wartość zmiennej jest wartość przechowywana w tej lokalizacji.
Identyfikator jest modyfikowane l wartość, jeśli odnosi się do lokalizacji pamięci i jej typ jest arytmetyczne, struktury, Unii lub wskaźnik.Na przykład jeśli ptr jest wskaźnikiem do regionu składowania, następnie *ptr jest modyfikowane l wartość, która wyznacza regionu magazynu, do którego ptr punktów.
Jedno z następujących wyrażeń c może być l wartość wyrażenia:
Identyfikator integralną, przestawne, wskaźnik, struktura lub typ Unii
Indeks dolny ([]) wyrażenie nie zwraca tablicę
Wyrażenie wybranych elementów członkowskich (-> lub .)
Jednoargumentowy pośrednia (*) wyrażenie, które nie odnoszą się do tablicy
Wyrażenie wartości l w nawiasach
A const obiektu (nonmodifiable l wartość)
Pojęcie "wartość" jest czasami używane do opisu wartości wyrażeń i aby odróżnić go od l wartość.Wszystkie wartości l są wartości r, ale nie wszystkie wartości r są wartości l.
Programu Microsoft
C firmy Microsoft zawiera rozszerzenie standardu ANSI C, umożliwiający poświaty l wartości do wykorzystania jako wartości l, tak długo, jak rozmiar obiektu nie jest dłużej poprzez Obsada.(Zobacz Konwersje typu rzutowania Aby uzyskać więcej informacji.) Poniższy przykład ilustruje tę funkcję:
char *p ;
short i;
long l;
(long *) p = &l ; /* Legal cast */
(long) i = l ; /* Illegal cast */
Domyślne dla Microsoft C jest, że włączone są rozszerzenia Microsoft.Opcja /Za kompilatora umożliwia wyłączenie tych rozszerzeń.
KONIEC Microsoft szczególne