pointer struktur
-
Hi,
wenn man eine Struktur mit pointern machtstruct a1 { int *b; int *c; } d1;dann behandelt man diese ja normal:
d1.b = &dummy; /*Adresse von dummy*/ *d1.b = 45; /*dummy wird zu 45*/Aber was macht man mit Pointer-Strukturen?:
struct a1 { int b; int c; } *d1;Und hiermit?:
struct a1 { int *b; int *c; } *d1;Danke!
-
strr schrieb:
struct a1 { int b; int c; } *d1;dl->b = 1;
dl->c = 1;oder
(*dl).b = 1;
(*dl).c = 1;strr schrieb:
struct a1 { int *b; int *c; } *d1;dl->a = &dummy;
*(dl->b) = 45;oder
(*dl).b = &dummy;
*(*dl).c = 45;
-
Ajaw schrieb:
strr schrieb:
struct a1 { int b; int c; } *d1;dl->b = 1;
dl->c = 1;oder
(*dl).b = 1;
(*dl).c = 1;Also sind die Komponenten der Struktur keine Pointer?
Und was ist dann der Unterschied zwischen Strukturen und 'Pointer-Strukturen' (struct a1 *b; )?*PS: Funktioniert beides, oder nur das zweite, weil beim ersten die Deklaration nur für die beiden Variablen gilt?:
struct a{ int b; } ew, re; /*OdEr*/ struct a{ int b; }; int main() { struct a c; }Und es resultiert 1. struct ew, re und c und beim zweiten nur struct c?
struct { int a; } b, c, d, e;Gilt nur für b, c, d und e?
Und wie funktionieren structs mit typedef?
Hat das Vorteile oder Nachteile?
Danke*
Danke
-
Nochmal auf Deutsch bitte.Wenn kein Sternchen vorm Bezeichner steht, isses auch kein Pointer. Der Unterschied:
bei struct foo a; flackt die komplette Struktur auf dem Stack und bei struct foo* b; liegt nur ein Zeiger auf dem Stack.
-
Und was genau bedeutet das für das Programm/den Programmierer?
"Und wie funktionieren structs mit typedef? Hat das Vorteile oder Nachteile?"
Und was ist damit?
