Funktionszeiger



  • *grey(int *image, int b, int h)

    Da fehlt was, beispielsweise der Rueckgabewert.



  • Beim Rückgabewert fehlt der Datentyp. So wie es aussieht, soll die Funktion einen Zeiger zurückgeben, aber auf was für einen Typ?



  • Dir fehlen rudimentärste Grundlagen. Das steht ganz sicher in den Unterlagen zur Vorlesung bzw. deiner Mitschrift.



  • Ja das mir Grundlagen fehlen, das weiß ich schon. Bin ja auch gerade mehr oder weniger dabei mir durch Probieren das Ganze anzueignen.
    Das mit dem fehlenden Rückgabewert verstehe ich nicht.
    Die Funktion:

    int *grey(int *image, int b, int h)
    {
    //eigentliche Funktion
    return ??;
    }

    void main (void)
    {
    int b,h;
    int *image;
    //Funktionsaufruf
    grey(*image,b,h);
    }

    Ich bekomme es hin, normale Funktionen aufzurufen und auch Werte zu übergeben und wieder rückzugeben. Aber mit Pointern.....AHHHHHHHHHHHH
    Das treibt mich gerade zu Weißglut 😡



  • Pointer werden behandelt wie andere Variablen auch. Das * brauchst du nur, wenn ein Pointer deklariert wird, oder wenn du zugreifen willst, auf was er zeigt.



  • Vielen Dank dafür. Wieso muss alles immer so komplex ausgedrückt werden, wenn es auch einfach geht. Funktion funktioniert....DANKE 😃 😃



  • durch Probieren das Ganze anzueignen

    Das ist der falsche Weg.



  • Wieso? Ich finde wenn ich Sachen "Anfassen/Sehen" kann, kann ich am besten Lernen und Verstehen. Ich denke mal das muss jeder für sich selbst entscheiden, wie er sich am Besten Wissen aneignet. Ich finde das Programmieren eine recht trockene Angelegenheit darstellt. Der Spaß und die Motivation mir unter Umständen sogar noch mehr als das geforderte Maß beizubringen, bekam ich definitiv durch das Variieren und Manipulieren von vorgegebenen Sachverhalten.



  • oehm2007 schrieb:

    Wieso?

    Weil du beim Probieren nicht immer merkst, wenn es falsch ist. Die einfachsten Fehler findet der Compiler, die nächste Riege bringt dein Programm direkt zum Absturz, aber alle anderen Fehler führen vielleicht irgendwann zu schlecht reproduzierbaren Abstürzen, Sicherheitslücken, Speicherlöchern oder unsinnigen Ergebnissen.



  • Kann ich aus leidlicher Erfahrung bestätigen... 😞


Anmelden zum Antworten