Forum
Tipps
News
Menu-Icon

Pointer über mehrere Funktionen übergeben

Moin!

Ich habe ein Problem in C und zwar dass ich einen Pointer über mehrere Funktionen hinweg übergeben will. Was ich meine:

void f1(int *n)
...
f2(&n);

void f2(int *n)
...
f3(&n);

void f3(int *n)
...
(*n)--;

Und in der Ausgabe von f1 steht dann der subtrahierte Wert von. Also wenn n 4 wäre soll es nach dieser Prozedur 3 sein.

Hoffe ich habe es verständlich erklärt.


Antworten zu Pointer über mehrere Funktionen übergeben:

Und wo ist das Problem? Du darfst natürlich in den Funktionen nicht mehr dereferenzieren (du kriegst ja schon nen fertigen Pointer, den du nur weiterreichen musst)

#include "stdlib.h"

void f3(int *n) {
     int i = --(*n);
     printf("%i", i);
}

void f2(int *n) {
     f3(n);
}

void f1(int *n) {
     f2(n);
}

int main() {
 
    int n = 4;
    f1(&n);
    system("PAUSE");
    return 0; 
}

« Visual Basic 2008 Programm mit MS AccessJDK&netbeans ...... extra rechner nutzen? »
 

Fremdwörter? Erklärungen im Lexikon!
Undo
"Undo" steht für "Rückgängig machen": eine häufig genutzte Funktion n vielen Programmen und Apps, die es ermöglicht, kürzlich durchgefü...

Quellcode
Ein Quellcode, auch als Quelltext bekannt, bezeichnet den unkompilierten Programm-Code einer Software. Quell- oder Programm-Code ist der auch für Menschen lesbare Co...

Unicode
Unicode ist ein international anerkannter Standard, der als universeller Zeichencode ("Universal Code") dient und durch das Unicode-Konsortium entwickelt und verwaltet wi...