Hallo,
sowas aergerliches, die Antwort war zur Haelfte geschrieben, und kmail
schmierte ab.
also nochmal..

> struct the_struct{
> int val;
> int foo;
> int bar;
> unsigned char myarray[2][2][2];
> double bla;
> }
> 
> struct the_struct *mystruct;
> 
> nochmal f�r mich langsam zum mitschreiben:
> was ist der Unterschied zu 
> 
> mystruct.val 
> und 
> mystruct->val 

Deklarierst Du mystruct mit 
struct the_struct mystruct;
werden Elemente durch Punkt angesprochen,
und mit
struct the_struct *mystruct;
durch ->

Nach der Deklaration
struct the_struct mystruct;
kannst Du die Struktur gleich benutzen
mystruct.val = 0; z.B.

Und bei der Deklaration
struct the_struct *mystruct;
hast Du nur ein Zeiger , musst das Objekt also auch erzeugen

mystruct = ( struct mystruct * ) malloc( sizeof( struct mystruct ) );
Erst jetzt kannst Du die elemente ansprechen
mystruct->val=0;

> wie kann ich mich absichern wann ein neuer Zeiger angelegt wird?
> lege ich mit 
> mystruct->val= current_val; implizit einen neuen Zeiger vom typ mystruct an? 
> oder wird die n�chste Zuweisung in den gleichen Zeiger;
> mystruct->foo=current_foo;  geschrieben?

?????????????????? Lernt man im Studium heutzutage ueberhaupt C?

Kann es sein, Du hast vor paar Monaten nach dem Rat fuer ein C Buch gefragt?
Ich habe damals C in 21 Days SAMS Verlag empfolen, das Buch wurde als
Buch fuer Anfaenger abgestuft. Sorry wenn das jmand anderer war.

> Es werden mit Sicherheit nie alle Varibeln von mystruct zugewiesen. 
> Wird bei einem neuen Zeiger alle Werte auf NULL gesetzt?
Bei C mit Sicherheit nicht. 

> Oder muss ich calloc statt malloc verwenden wenn ich 
> sicher gehen will? 
calloc macht das gleiche nur mehrfach. Also auch nicht.


> Wie kann  ich mir _Elegant_ die einzelnen Zeiger holen, ich habe ca. 1580 mystruct  
>Zeiger,
> wenn ich alle Daten zugewiesen sind. 

struct the_struct mystruct[1580];

mystruct[100].val=0; // val von 100. mystruct Struktur auf 0 setzen
 
Ist natuerlich eine Verschwendung,  aber als anfaenger vermeidest 
Segmentation faults ( fur die Struktur, die Du oben angegeben hast ).

Verkettete Listen sind Eleganter (  )

Gruss, 
Valentin Heinitz

P.S.
Buchempfehlung:
C in 21 Days SAMS Verlag  :-)

----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an