Einzelnen Beitrag anzeigen
Alt 14.09.2003, 11:30   #6
kikakater
Inventar
 
Registriert seit: 24.01.2001
Beiträge: 5.631


Standard

1) Call by Address setzt das Präparieren der Struktur (=Versorgen der Datenfelder mit Werten) voraus. D.h. ein Call bei Address ist im Fall einer Struktur generell zu bevorzugen, da ich vorher eine definierte Versorgung der Datenfelder sicherstellen muss. Dies zwingt zu sorgfältiger Programmierung.

2) Ein weiterer Grund ist die Verwaltung der Informationen (Struktur) im Computerspeicher. Ein Array aus Strukturen oder eine verkettete Liste bzw. ein Baum aus Strukturen kann besser verwaltet werden als das Anlegen von einzelnen Strukturen. Die Übergabe erfolgt aus dem Array/der Liste/dem Baum oder aus einer Kopie UNTER VORHERIGER Versorgung der Strukturkopie und Übergabe eines Zeigers darauf.

Punkt 1 bezieht sich auf die Disziplin beim Programmieren
Punkt 2 auf die Praxis, Geschwindigkeit und Effizienz bei der Speicherorganisation

Es ist ein Muss eine Struktur vor der Übergabe mit korrekten Werten zu versorgen, insofern ist die zusätzliche Übergabe der Daten der Struktur über den Stack (Call by Value) ein Unsinn erster Ordnung.

mfg
Kikakater
kikakater ist offline   Mit Zitat antworten