Weiterführendes Beispiel zu Pointern

main()
{
    int j;
    int k;
    int l;
    int ii;

    int *pt1;           // int pointer
    int *pt2;           // int pointer
    float values[100];  // Feld mit 100 Float-Werten
    float results[100]; // Feld mit 100 Float-Werten
    float *pt3;         // float pointer
    float *pt4;         // float pointer

    j = 1;
    k = 2;

    pt1 = &j;           // 'pt1' beinhaltet die Addresse von 'j'
    pt2 = &k;           // 'pt1' beinhaltet die Addresse von 'k'
    pt3 = values;       // 'pt3' beinhaltet die Addresse des ersten Elements von 'values'
    pt3 = &values[0];   // das gleiche wie oben

    pt3++;              // 'pt3' beinhaltet nun die Adresse des zweiten 'value'-Elements
    *pt3 = 3.1415927;   // das zweite 'value'-Element hat nun den Wert 'Pi'
    pt3 += 25;          // pt3 zeigt nun auf das 26ste Element von 'values'
    *pt3 = 2.22222;     // das 26ste Element von 'values' ist nun 2.22222
    pt3 = values;       // 'pt3' zeigt nun auf den Beginn von 'values'

    for (ii = 0; ii < 100; ii++)
    {
        *pt3++ = 37.0;  // alle Werte des Arrays werden auf den Wert 37.0 gesetzt
    }

    pt3 = &values[0];   // pt3 beinhaltet die Addresse des ersten Elements von 'values'
    pt4 = &results[0];  // pt4 beinhaltet die Addresse des ersten Elements von 'results'

    for (ii=0; ii < 100; ii++)
    {
        *pt4 = *pt3;    // Die Inhalte an der Adresse 'pt3' werden mit den Inhalten an der Adresse 'pt4' gleichgesetzt
        pt4++;
        pt3++;
    }
}

Schreibe einen Kommentar