Eingangsvariablen einer Struktur definieren

Gast #3312234
Lesenswert?
• ▲
▼
Ich habe eine Structure aufgebaut:
1
struct inputDesc
2
{
3
  uint8_t  EingangAuf;        // 
4
  uint8_t  bitStatus;  
5
  uint8_t  EingangAb;        //   
6
  
7
  uint8_t  TasteIstGedrueckt;      //  memmTasteGedrueckt
8
  uint16_t pressedCycles;     // Tastendruck_in_Zyklen
9
  uint8_t  aufab;          
10
  uint16_t takt; 
11
  uint8_t  SpeicherDimmwert;
12
  bool     bR_TRIG;
13
  bool     bF_TRIG;
14
  bool     Hilfsmerker;
15

16
};

und so lege ich eine Bezug zu den Variablen an:

struct inputDesc   Eingang_0    = {3, 12};

Somit ist "EingangAuf" = 3 und "bitStatus" ist = 12.
Meine Frage, wenn ich jetzt  die anderen Variablen nicht deklariere, 
welcher Wert wird dafür genutzt wenn ich die Struktur in einer Funktion 
aufrufe?
So z.B.:
1
    //Länge des Tastendruckes aufzeichnen
2
    if (Eingang[pInput->EingangAuf] || Eingang[pInput->EingangAb])
3
    pInput->pressedCycles++;
4
    else
5
    pInput->pressedCycles = 0;

wird für "EingangAb" und "pressedCycles" 0 genommen?!?!??! Wenn ich die 
Funktion jetzt noch ein zweites mal aufrufe, was passiert dann?

Könnt Ihr mir da weiterhelfen, stehe da so ganz am Anfang!!!

Vielen Dank!
Gast #3312367
Lesenswert?
• ▲
▼
Dann nimm dir mal die Dokumentation deines Compilers.
Da steht drin wie er sich in diesem Fall verhält.

Wahrscheinlich wird der Rest der Struktur mit "0" gefüllt wenn die 
Stukture GLOBAL angelegt wird.
Es kann aber auch sein das der Rest undefiniert bleibt und somit zur 
Laufzeit den "zufällgen" Inhalts des Rams hat.
Dieser undefinierte Zustand ist auf jeden fall da wenn die Struktur 
LOKAL innerhalb einer Funktion angelegt wird.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.