in Funktionen übergabe durch call-by-reference!!



  • An alle Forumianer
    Ich hab mal wieder ein Probleme mit einem Anfängerfehler.
    Also ich hab das Probleme das ich in einer Funktion einen Wert einer Variablen zuweisen will die ich aber in der main deklariert hab und auch in andere Funktionen verwenden will. Muss ich da mit pionter arbeiten oder geht das mit call-by-reference verfahren.
    Ich danke für die antworten.



  • ultwobuildc schrieb:

    Muss ich da mit pionter arbeiten oder geht das mit call-by-reference verfahren.

    ungefähr so...

    void func (int *p)
    {
      *p = ...;  // indirekter zugriff über pointer
    }
    
    int main (..
    {
      int a;
      func (&a);  // soll verändert werden --> adresse weitergeben
      ...
    }
    

    🙂



  • C hat kein eingebautes "call-by-reference", also mußt du da mit Pointern arbeiten:

    void func(int* ptr)
    {
      *ptr = 0x0815;
    }
    
    int main()
    {
      int value=0;
      printf("alter Wert: %d\n",value);
      func(&value);
      printf("neuer Wert: %d\n",value);
    }
    

Anmelden zum Antworten