[C/C++] Frage zu Unterprogrammen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von c2000, 27. Juni 2008 .

  1. 27. Juni 2008
    Frage zu Unterprogrammen

    Hi,

    es gibt ja verschiedene arten ein Unterprogramm zu definieren sag ich jetzt mal. Hierzu hab ich ein paar Fragen:

    Bsp:
    Code:
    void a_v(float x_a)
    --> Was bedeutet hier mein void? Für was brauche ich das?

    Code:
    void a_v(float *x_a)
    --> Wieso übergebe ich hier einen Zeiger?

    Code:
    float *suche( float * z_a, float ** a_zeig, int anzahl)
    --> für was brauche ich float am anfang? und den Zeiger?

    Code:
    void a_fkt(&fkt)
    --> was sagt hier das & ?

    Wäre nett wenn ihr mir helfen könntet. Bin mir da meist ziemlich unsicher was das alles bezwecken soll.
     
  2. 27. Juni 2008
    AW: Frage zu Unterprogrammen

    Hey!

    Basics lernen:
    C++-Programmierung – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher

    C++-Programmierung: Variablen und Konstanten – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher

    http://en.wikibooks.org/wiki/C%2B%2B_Programming/Operators#address-of_operator_.22.26.22
    http://en.wikibooks.org/wiki/C%2B%2B_Programming/Operators#Dereferencing_Operator_.22.2A.22

    Mfg,

    Kolazomai
     
  3. 28. Juni 2008
    AW: Frage zu Unterprogrammen

    Code:
    void a_v(float x_a)
    Das VOID bedeuted (Eng: leer) das keine Variable zurückgegeben wird.


    Code:
    void a_v(float *x_a)
    Du übergibst (wahrscheinlich) einen Zeiger weil die Funktion deine Variable verändern wird und damit diese nicht unnötig neuen Speicher allokieren muss gibst du ihr die Speicheradresse deiner bereits vorhandenen Variable.

    Code:
    float *suche( float * z_a, float ** a_zeig, int anzahl)
    Float am anfang ist der Rückgabetyp der Funktion , dasheißt wenn du sie aufrufst wird dir eine Variable vom Typ Float (Gleitkommazahl) zurückgegben :
    Code:
    float A=suche(&b,&c,10);
    Dann ist die variable A dein Ergebniss.

    Code:
    void a_fkt(&fkt)
    Das & (amersand, oder kaufmännisches "UND") wird dazu verwendet nicht die Variable dazustellen sondern die Speicheradresse wo die Varibale sich befindet.
    Eine Funktion die einen Zeiger erfordert wird eine von dir erstelle "Lokale" oder "Globale" Variable nur mit einem vorangestellten & annehmen (ausser die Variable selbst ist ein Zeiger, dann natürlich unnötig.)


    Mfg, Inqui.
     
  4. 28. Juni 2008
    AW: Frage zu Unterprogrammen

    Das letzte von Inquisito ist nicht ganz richtig.

    Code:
    void a_fkt(&fkt)
    Normalerweiße steht das & wirklich als Addressparameter, d.h. die Addresse der Variable wird zurückgegeben. Im Funktionsrumpf steht das & aber für eine Referenz. Das is ähnlich wie ein Zeiger, nur bissl leichter zu verwenden und sicherer.
     
  5. 28. Juni 2008
    AW: Frage zu Unterprogrammen

    Verdammt jetzt wo du es sagst, stimmt. Danke für die Korrigierung.
     
  6. 21. Juli 2008
    AW: Frage zu Unterprogrammen


    Fast richtig, als Rückgabe bekommt man einen float zeiger.
    Anmerkung: wenn die variable auf die der Rückgabe Zeiger zeigt, in der Funktion deklariert wird. Geht die Variable beim verlassen der Funktion verloren und wenn versucht wird auf den Float Zeiger zu zugreifen, wird eine fehlerhafte ausgabe erreicht. Da der Speicherbereich nicht mehr von der Original Float Zahl genutzt wird.

    Also Vorsicht.
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.