Aufgaben

Aufgabe 1 – Deklarationen:

Was wird hier deklariert?
Bsp:

string *(array[])

Lsg: Es handelt sich hier um ein Array von Pointern auf strings

  1. int array[]
  2. int* array[]
  3. int (*array)[]
  4. int* (*array)[]
  5. int* (*array)[][]

Aufgabe 2 – Zuweisungen:

Hier ist ein kleiner Code-Block gegeben und du musst entscheiden, ob die mit Zahlen versehenen Zeilen richtig oder falsch sind.

#include 

struct bruch {
    int zaehler;
    int nenner;
};

int main(int argc, char *argv[]) {
    struct bruch a = {1,2};
    struct bruch b = {5,7};
    struct bruch *x;
    x = &b;

    (1) a.zaehler = 1;
    (2) (&a)->nenner = 2;

    (3) x.zaehler = 5;
    (4) (&x).nenner = 7;

    return 0;
}

Lösungen:

Aufgabe 1 – Deklarationen:

  1. Ein Array von ints
  2. Ein Array von int-Pointern
  3. Ein Pointer auf ein Array von ints
  4. Ein Pointer auf ein Array von int-Pointer
  5. Ein Pointer auf ein Array von Pointern auf ein Array von int-Pointer

Aufgabe 2 – Zuweisungen:

  1. korrekt
  2. korrekt
  3. falsch, x->zaehler wäre richtig
  4. falsch, (*x).nenner wäre richtig

Merke: Wenn die Variable ein Pointer ist, dann kann auf die Attribute mit var->attribut zugegriffen werden. Wenn es kein Pointer ist, dann kann mit var.attribut auf die Attribute zugegriffen werden.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.