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:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

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? »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

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...