Hello Markus, Tuesday, November 26, 2002, 12:15:55 AM, you wrote:
MH> [...] MH> struct the_struct *mystruct; MH> was ist der Unterschied zu mystruct.val und mystruct->val? �.' wird benutzt um auf Werte aus Eintr�gen einer Struktur bzw. Union zu zugreifen. Wenn man nun aber �ber einen Zeiger auf eine Struktur zugreifen will, muss man - nat�rlich! - den Zeiger erst einmal dereferenzieren, und das geht mit einem `*'. *mystruct.val also! Oder? Nein, denn der Punkt hat eine h�here Priorit�t als das Sternchen, es m�sste also (*mystruct).val hei�en! Und dreimal darfst du raten, wof�r -> die Kurzform ist. ;-) Na klar! F�r (*). -- wof�r das Ganze? Der C-Programmierer liebt eben weniger schreiben zu m�ssen, und bis man (*) und dann noch einen . getippt hat sind ja Ewigkeiten vergangen. Und au�erdem vermindert -> die Fehleranf�lligkeit (wenn man es mal kapiert hat ;-))! MH> [...] MH> Es werden mit Sicherheit nie alle Varibeln von mystruct zugewiesen. MH> Wird bei einem neuen Zeiger alle Werte auf NULL gesetzt? Ein Zeiger kann *immer* nur einen Wert haben, n�mlich eine Adresse! Bitte nichts vertauschen! Ob dieser Wert NULL ist h�ngt ab, wo und wie der Zeiger deklariert wird (lokale Variable sind in der Regel im Gegensatz zu globalen und statischen undefiniert). MH> Oder muss ich calloc statt malloc verwenden wenn ich MH> sicher gehen will? MH> [...] calloc() �berschreibt den allokierten Memory-Bereich mit Nullen, wenn du das willst, dann ja! -- cheers, Tobias ---------------------------------------------------------------------------- PUG - Penguin User Group Wiesbaden - http://www.pug.org

