Gå til innhold

Problemer med array i C


Anbefalte innlegg

Hei og hopp.

 

char navn[3] = {"lise","trine","stian"};

 

" error: (Each undeclared identifier is reported only once for each function it appears in.)"

 

Hva gjør jeg galt?

har prøvd dette også:

 

#1 char[] navn = new char {"..","..."}

 

#2 char[] navn;

navn = new char[] {"..",".."};

 

Forslag?

Lenke til kommentar
Videoannonse
Annonse

I C og C++ er en streng i seg selv et array med bokstaver. Da er det jo logisk at et array med 3 char-elementer er langt fra nok til å holde "lise", "trine" og "stian". Det enkleste er nok å lage et array med tre char-pekere slik at hvert element peker til hver sin streng:

 

char* navn[3] = {"lise", "trine", "stian"};

 

Du kan også gjøre det v.h.a. et todimensjonalt array:

 

char navn[3][10] = {"lise", "trine", "stian"};

 

Da vil navn[0][1] være bokstaven "i", navn[2][3] være bokstaven "a" osv.

 

Men siden du selv har prøvd å bruke new kan det se ut som det egentlig er C++ du mener, og ikke C. I så fall kan du bruke string-klassen, noe som vil gjøre ting mye enklere.

Endret av Jaffe
Lenke til kommentar

Nei, dette finner du ikke i C/C++. Dersom du setter deg nøyere inn i C eller C++ vil du se at de opererer på et lavere nivå enn PHP. Man må gjøre flere ting selv. Et array er f.eks. bare en rekke elementer etter hverandre av en spesifikk datatype, og det eneste man kan gjøre er å finne et element (ved hjelp av []-operatøren). C og C++ sikter på å være enkelt oppbygde og allsidige språk som kan brukes til det meste, og som derfor ikke spesialiserer seg på noen felt (der i blant array-behandling).

 

Dette kan virke tungvint og rart, men det er i grunn logisk om man kan C eller C++. Det er av samme grunn at man ikke har ting som foreach osv.

 

Om det finnes et tredjepartsbibliotek som kan gjøre det du vil, vet jeg ikke.

Endret av Jaffe
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...