Hallo
Pointer werden meistens verwendet, wenn man einer Funktion Daten übergeben will, die sie verändern soll. In C++ kann man dafür auch Referenzen verwenden.
typedef struct \_POINT
{
int x, y;
} POINT;
MovePoint(int x, int y, POINT\* pt)
{
pt-\>x += x;
pt-\>y += y;
}
...
POINT pt = {0,0};
MovePoint(10, 20, &pt); //& liefert die Speicheraddresse einer Variable (einen Pointer darauf)
//pt ist jetzt {10, 20}
Ebenfalls sehr beliebt, wie ich es auch im obigen Beispiel gemacht habe, ist es bei sehr großen Strukturen lediglich einen Pointer auf die Struktur zu übergeben anstatt der ganze Struktur, da ein Pointer auf einem 32bit Betriebssystem nur 4 Byte groß ist.
Und wo du dann ein richtiges Pointerchaos hast, ist bei der Stringverarbeitung =)
Ein typischer c-String ist ja eigentlich ein Zeiger auf ein Array aus chars. Wenn du dir einmal die Stringfunktionen aus dem string.h ansiehst, wirst du vielleicht bemerken, das alle dieser Funktionen c-Strings erwarten (char*) und auch solche zurückgeben.
Ich würde dir empfehlen, probier einfach einmal was mit Stringverarbeitung aus. Zum Beispiel könntest du eine Tabelle in einer html seite in ein 2 dimensionales array aus strings einlesen.
Zelle11Zelle12>/td>
Zelle21Zelle22>/td>
Da brauchst du dann ein 2 dimensionales array aus pointern auf chararrays.
char tabelleneintrag[128];
... //einlesen
char\* table[2][2];
table[0][0] = (char\*) malloc(sizeof(char) \* strlen(tabelleneintrag));
strcpy(tabel[0][0], tabelleneintrag);
...
mfg dixxi