Feldzugriff .

Der Feld-Zugriff-Operator erlaubt es, auf untergeordnete Symbole einer Variablen vom Typ struct, class oder union zuzugreifen. Die Variable steht dabei links des Punktes . und das gewünschte Symbol auf der rechten Seite.

#include <stdio.h> struct Person{ char* name; int age; }; int main(){ struct Person p = {"Tommy", 32}; printf("Name: %s\n", p.name); printf("Age : %d\n", p.age); return 0; }

Name: Tommy Age : 32

Siehe auch Pointer-Zugriff-Operator ->, Feld-Member-Operator .*

Details

Der Feld-Zugriff-Operator erwartet links einen lvalue und rechts ein Symbol und wird von links nach rechts abgearbeitet. Der Rückgabewert ist ein lvalue: Der Wert des gesuchten Symbols.

Auf der linken Seite des Feld-Zugriff-Operators kann ein beliebiger Ausdruck stehen, der zu einem lvalue ausgewertet wird. Wenn der links stehende Ausdruck als const deklariert ist, so gilt dies auch für den Rückgabewert.

Der Feld-Zugriff-Operator wird für Ausdrücke verwendet, welche direkt einen Wert speichern oder eine Referenz auf einen solchen darstellen. Im Gegensatz dazu wird der Pointer-Zugriff-Operator für Ausdrücke verwendet, welche einen Pointer auf einen solchen Wert darstellen.

Überladen des Operators

Im Gegensatz zum Pointer-Zugriff-Operator kann der Feld-Zugriff-Operator NICHT überladen werden.