Static Variable in Function

Gast #6117489
Lesenswert?

Hallo zusammen,

Ich versuche eine Funktion zu erstellen, in der ich als Parameter ein 
paar statische Variablen zuordnet. Diese Variablen sollten ihren Wert in 
einer anderen Funktion ändern (erhöhen oder verringern). Zum Zeitpunkt 
der Durchführung der Tests wird jedoch festgestellt, dass der Wert 
dieser Variablen derselbe bleibt wie derjenige, der eingeleitet wurde.


static uint8_t CursorPosition;
static uint8_t PositionDigit;

STATIC LCDH_DIGIT_ENUM eEnterDigitHandler( char *cString, uint8_t 
Position, uint8_t Cursor);

/* Zuweisung der Parameter */
eEnterDigitHandler(StringEnterPassword, PositionDigit, CursorPosition);
Gast #6117520
Lesenswert?

Also dann so? :

static uint8_t CursorPosition;
static uint8_t PositionDigit;

STATIC LCDH_DIGIT_ENUM eEnterDigitHandler( char *cString, uint8_t
*Position, uint8_t *Cursor);

STATIC LCDH_DIGIT_ENUM eEnterDigitHandler( char *cString, uint8_t
Position, uint8_t *Cursor)
{
   if (cString[*Position] != 42)
   {
     if(*Position > 49)
     {
        eRetValue = DIGIT_COMPLETE;
     }
     else
     {
        *Position++;
         *Cursor++;

         eRetValue = DIGIT_CURSOR;
      }
    }
}

/* Zuweisung der Parameter */
eEnterDigitHandler(StringEnterPassword, &PositionDigit, 
&CursorPosition);
Gast #6117672
Lesenswert?

Oliver S. schrieb:
> K&R, zweite Auflage

Dieser fürchterliche K&R! So programmiert heute hoffentlich keiner mehr.
C in a nutshell von König ist ganz gut, aber eher ein Referenzwerk.

Als Lehrbuch hab ich den Mix C Compiler in guter Erinnerlung. Buch und 
Compiler kosten etwa $20. War aber nicht ganz standard-konform. Ist fürn 
Anfang aber egal.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren