Pointer sind sinnvoll, wenn du:
- Mehrere Werte zurückgeben willst (Call by Reference)
- Mit großen Datentypen hantierst (wo eine Kopie zu erstellen lang
dauert / viel unnötigen Speicher verbraucht)
- Arrays
- Du in einer Funktion rückwirkende Änderungen am ursprünglichen Datum
vornehmen willst
- Du nur einen Pointer hast (dynamisch allokierter Speicher etc.), was
aber mit Arrays gleichkommt...
Pointer sind nicht sinnvoll wenn:
- Du fragen musst, wann Pointerübergabe und wann Wertübergabe sinnvoll
ist (dann wirst dir auch mit dem Dereferenzieren und dem Grundgedanken
dahinter schwer tun)
- unsigned char, unsigned int
- temporäre Veränderungen am Parameter durchgeführt werden, der aber
nach Abarbeitung der Funktion den gleichen Wert wie vor Aufruf haben
soll