Beispielprogramm: Zeigervektor mit 2D-Vektor vergleichen

Beschreibung

Dieses Programm stellt eine Zusammenfassung und Ergänzung der Programmzeilen im Abschnitt 1.5.2 des Skripts dar. Die beiden Variablen b und c wurden unterschiedlich erstellt und greifen auf verschiedene Stellen im Speicher zu. Dennoch kann nach der Erstellung mit der selben Syntax gearbeitet werden.

Quellcode

/*
Dateiname: Vergleich2dim.c
Autor: Robert Heß
Version: 1.1
Datum: 28.09.2009
Beschreibung: Zeigervektor mit 2D-Vektor vergleichen
*/

int main()
{
    int b[3][3];            /* 2D-Vektor */
    int t[3*3];             /* Daten für Zeigervektor */
    int *c[3] =             /* Zeigervektor ... */
        { t, t+3, t+6 };    /* ... initialisieren */

    /* einen Wert zuweisen */
    b[1][2] = 123;
    c[1][2] = 123;

    /* verschiedene Formen unter Verwendung von c */
    /* alle vier Zeilen haben die selbe Wirkung */
    c[1][2] = 123;
    *(c[1]+2) = 123;
    *(*(c+1)+2) = 123;
    (*(c+1))[2] = 123;

    /* verschiedene Formen unter Verwendung von b */
    /* alle vier Zeilen haben die selbe Wirkung */
    b[1][2] = 123;
    *(b[1]+2) = 123;
    *(*(b+1)+2) = 123;
    (*(b+1))[2] = 123;

    return 0;
}
Seite 17