definiertes char array in einem struct --will nichjtklappen

Gast #697802
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
Gast #697814
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 ...

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