2016-12-03 19 views
-3

Ich habe eine Struktur mit Variablen drin. Wie greife ich auf die Variablen einer Struktur zu, wenn die Struktur als Referenz übergeben wird?Abrufen von Variablen aus einer Struktur - c

struct point { 
    float x; 
}; 

float function(struct point *p) 
{ 
    return p.x; 
} 

... in anderen Worten, was brauche ich in dem Körper der Funktion ändern, um es nicht um einen Fehler zu verursachen?

+5

Zwei Optionen: p-> x oder (* p) .x; –

Antwort

1

Versuchen Sie folgendes:

struct point { 
    float x; 
}; 

// return variable 'x' of pointer 'p' 
float function(struct point *p) 
{ 
    return p->x; 
} 

p->x zu (*p).x entspricht. Wenn Sie einen struct * (Zeiger auf struct) übergeben, müssen Sie darauf als Zeiger zugreifen.

+0

yeah 'p' ist ein Zeiger –

+0

@melpomene Messepunkt; bearbeitet. –

Verwandte Themen