Forum: Mikrocontroller und Digitale Elektronik definiertes char array in einem struct --will nichjtklappen


von Andreas (Gast)


Lesenswert?

Morgen,

ich habe dieses define:

#define maxchar      20

ich habe dieses struct:


typedef struct menu_var  {
  uint8_t        pos;
  uint8_t        layer;
  uint8_t       event;
  char        name[maxchar];
  uint8_t        wordlength;
  wdwpara_t      para;
}menu_t;

und diesen aufruf in der main:

menu_reg_entry  (0,0,"Favorites Left",0);

und diese Funktion dazu in der Datei: menu.c:

void menu_reg_entry  (uint8_t layer, uint8_t pos, char 
name[maxchar],uint8_t event)  {

  menu_content[menu_counter].event = event;
  menu_content[menu_counter].name = name[maxchar];
  menu_content[menu_counter].pos = pos;
  menu_content[menu_counter].layer = layer;
  //menu_content[menu_counter].wordlength
  menu_counter++;
}

Dummerweise will das mit dem Namen nicht klappen!!!!
Diese Fehlermeldung kommt:

incompatible types in assignment


Weiß jemand warum?
Für mich ist doch alles das gleiche! und da ich keine malloc benutzte 
muß ich das array für den namen begrenzen, aber das alles hilft nicht.


morgenlichen gruß

Andreas

von Alex (Gast)


Lesenswert?

Was du versuchst ist folgendes:

int x[3] = {0,1,2};
int y[3];

y = x;

Egal wie du es versuchst, das wird nicht klappen. Die einzige Lösung ist

for (i=0; i<3; i++)
    y[i] = x[i];

Oder du wechselst die Programmsprache; Fortran, Matlab und Konsorten 
beherrschen was du vorhast ...

von Gast (Gast)


Lesenswert?

Schon mal daran gedacht, ein C Tutorial durchzuarbeiten? Oder mal einen 
C-Kurs an der Volkshochschule zu belegen?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.