Forum: Mikrocontroller und Digitale Elektronik array feld in c schreiben


von moser (Gast)


Lesenswert?

Hallo, ich fersuch grad mit einer schleife etwas in das array feld zu 
schreiben, aber warum geht das nicht? mein programm zeigt ständig einen 
fehler:

ich hab schon versucht:
for(x=0;x<=11;x++)
  {
    hex[x]= {0x85,0x100,..}
}

hex[x]= (0x85,0x100,...) und hex[x]= [0x85,0x100,...] usw

nichts funktioniert, aber wenn ichs so mache:

                        hex[0]= 0x85;
      hex[1]= 0x110;
      hex[2]=0x134;
      hex[3]=0x183 ;
      hex[4]=0x232;
      hex[5]=0x287 ;
      hex[6]=0x342 ;
      hex[7]=0x440 ,
      hex[8]=0x537 ,
      hex[9]=0x702;
      hex[10]=0x866;
      hex[11]=0xc26;

dann gehts. :(((

im internet steht das es aber anders auch gehn sollte, so wie ich oben 
geschrieben hab. bitte um hilfe

mfg

von André H. (andrekr)


Lesenswert?

> Hallo, ich fersuch grad mit einer schleife etwas in das array feld zu
> schreiben, aber warum geht das nicht? mein programm zeigt ständig einen
> fehler:

Du hast den Fehler vergessen.

von Lehrmann M. (ubimbo)


Lesenswert?

Die Zuweisung in Form von array[..] = {.....} funktioniert nur bei der 
Initialisierung also z.B. bei

char feld[5]={0,0,1,2,3};

später ergo nach der initialisierung geht das nichtmehr !

von moser (Gast)


Lesenswert?

MAIN.C(155): error C141: syntax error near '{'

dast ist der fehler in der zeile: hex[x]= {0x85,0x100,..}


mfg

von moser (Gast)


Lesenswert?

endlich funtkioniert es :D

vielen dank

mfg

von Lehrmann M. (ubimbo)


Lesenswert?

ich glaub das funktioniert generell nicht so oder ?

sagt's mir wenn ich falsch liege aber für mich weisst

for(x=0;x<=11;x++)
  {
    hex[x]= {0x85,0x100,..}
}

jedem hex[x] also hex[0] bis hex[12] den Wert {0x85,0x100,..} (also die 
ganze geschweifte Klammer) zu.

Maybe geht das in C++ so aber in C glaub ich nicht !

von Björn R. (sushi)


Lesenswert?

Geht in C++ auch nicht, scheint ein Denkfehler zu sein...

von Lehrmann M. (ubimbo)


Lesenswert?

Björn R. schrieb:
> Geht in C++ auch nicht, scheint ein Denkfehler zu sein...

Okay gut =) ich dachte schon meine C Kenntnisse wären den Bach hinunter 
=)

ALSO: das

for(x=0;x<=11;x++)
  {
    hex[x]= {0x85,0x100,..}
}


geht so nicht.


moser schrieb:
> im internet steht das es aber anders auch gehn sollte, so wie ich oben
> geschrieben hab. bitte um hilfe

das würde mich interessieren wo das so steht ... hast du vll. einen Link 
?

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.