C: Struct, Pointer und Arrays

Gast #364845
Lesenswert?
• ▲
▼
Hi,

ich habe hier eine simple, dumme C-Frage, die sich mit etwas Nachdenken
eigentlich lösen lassen sollte, aber ich komme gerade nicht drauf :(

Ich habe ein Array von Structs:

struct test{
    char* name; // Bezeichnung des Tests
  int id;      // ID des Tests
  int res;    // Testergebnis
};

struct test tests[NO_TESTS];

Jetzt soll das Array an ein Unterprogramm übergeben werden.
printTestScreen(tests);

Wobei die Signatur wie folgt aussieht:
void printTestScreen(struct tests test[]);

D.h. doch ich übergebe einen Zeiger auf das erste Feld eines Arrays von
Structs. Mit test[i].id sollte ich dann in der Funktion doch auf die
Structs zugreifen können, aber irgendwie will das gar nicht
kompilieren.

Was ist daran falsch?
Grüße
Jakob
Gast #364851
Lesenswert?
• ▲
▼
Hallo,

ein kleiner Tip am Rande : Mit typedef sieht das schöner aus (meiner
Meinung nach).

typedef struct {
  char *pcBla;
  int   iBlubb;
} test;

und dann :
#define ANZAHL 12

test variable[ANZAHL];

und weiterhin
void vPrintToScreen(test* pxVar);

Nur so meiner Meinung nach. Meinungen sind verschieden (was auch meine
Notation angeht, die hier nicht zur Diskussion steht ;-)).

MfG, Daniel.
Gast #364852
Lesenswert?
• ▲
▼
> Das ist C++ und kein C.

Wie kommst du auf das schmale Brett?

> void printTestScreen(struct tests *test);  /* C */

Das geht auch und ist zu ca. 100% äquivalent, sowohl in C als auch in
C++.

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.