在函数中初始化的结构如何使用值?

时间:2018-12-12 13:55:39

标签: c function struct

我有一个在函数中填充数据的结构。 现在我想知道如何将这个数据与其他功能一起使用。

我应该在主函数中写些什么?

#include <stdio.h>
#include <string.h>

typedef struct anzeige
{
char gesamtzahl_zeilen_sonne;
char sichtbare_zeilen_sonne;
char himmel[80];
char horizont[80];
char sonne[20][80];
char text_fuer_benutzer[200];
int sleep; // ms f�r Animation
} Anzeige;

Anzeige initialisiere_anzeige()
{
Anzeige a;
strcpy(a.himmel, " \n");
strcpy(a.sonne[0], "          o o              \n");
strcpy(a.sonne[1], "      o         o          \n");
strcpy(a.sonne[2], "    o    ()  ()   o        \n");
strcpy(a.sonne[3], "   o               o       \n");
strcpy(a.sonne[4], "   o        V      o       \n");
strcpy(a.sonne[5], "    o    <____>   o        \n");
strcpy(a.sonne[6], "      o         o          \n");
strcpy(a.sonne[7], "          o o              \n");
strcpy(a.sonne[8], "                           \n");
strcpy(a.sonne[9], "                           \n");
strcpy(a.horizont, "---------------------------\n\n");
a.gesamtzahl_zeilen_sonne = 10;
a.sichtbare_zeilen_sonne = 10;
strcpy(a.text_fuer_benutzer, "\'u\': Untergang\t \'a\':\n\nAuswahl: ");
a.sleep = 50;
return a;
}

void zeichnen(struct Anzeige a){

}

int main(){

zeichnen(struct Anzeige a);

return 0;
}

我想用其他功能打印太阳。 (zeichnen)

1 个答案:

答案 0 :(得分:1)

您需要做

int main(void) {
    struct anzeige a; // or Anzeige a; using the typedef
    a = initialisiere_anzeige();
    zeichnen(a);
    return 0;
}