Am Dienstag, 26. November 2002 15:00 schrieb Tobias Rittweiler:
> 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.

Hi Tobias, leider kann ich unter Kmail nicht alle Deine
Zeichen lesen :-( . Hast Du Deinen MTU nur 7bittig konfiguriert? 
(ich muss mich nach der Diplomarbeit doch noch mal etwas mehr mit mail-server 
besch�ftigen)

�.' wird benutzt ...  heist also: der _Punkt_ wird benutzt ... 
Okay 


>
> 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 `*'.
... mit einem _Asterix_ 

Okay 


> *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 ;-))!

Jetzt f�llt es mir wie Schuppen von den Augen.
Gerade weil in den B�chern meist Verkettete Listen und deren 
Verwandete Beschreiben sind und ich sie ausgibig angewand hatte 
wunderte ich mich �ber den _Punkt_ .

Trotztdem habe ich bisher alles richtig gemacht ;-) 


> 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).

Eine ungenauigkeit von mit. Nat�rlich will ich keinen _NULL_ Zeiger 
sondern die _Werte_ auf _NULL_ setzen.

>
> 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!

Schaun' mer mal, w�re nicht  dumm.


Vielen Dank an auch Dich Tobias.

Meistens sind es eben die Datails die man 100 mal 
lesen, h�ren und anwenden muss bis man sie richtig versteht.

Programmierst Du eigentlich Beruflich in C?

Ich finde C eine ziehmlich sch�ne Sache. 
Mit Sicherheit etwas starr und aldmodisch aber 
ich finde sie sehr estethisch. 

Gru� Markus 





-- 


-----------------------------------------------------------------------------
Markus Hahn
Emser Stra�e 69a
65195 Wiesbaden

Microsoft merges technologies: 
Windows CE + Windows ME + Windows NT = Windows CEMENT

-----------------------------------------------------------------------------

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

Antwort per Email an