Syntax Error: Bad Array Declarator

De fleste programmeringsspråk dele felles syntaks og struktur. Dette gjelder særlig i C språkfamilien, som inkluderer C, C ++ og C #. Selv om disse språkene dele lignende syntaksregler, er ikke hver erklæring eller uttrykk det samme. Å erklære arrayene i C eller C ++, for eksempel, innebærer en annen erklæring enn anvendt i C #. Prøver å bruke feil matrise erklæring i C # vil tvinge kompilatoren å kaste en "Bad Array Declarator" feil før sviktende.

arrays

Dataprogrammer er bygget på begrepene data og datatyper. Datatyper refererer til type data tildelt en variabel, og inkluderer en hel heltall, et tegn eller en brøk desimaltall. En spesiell datatype er matrisen. En rekke representerer en samling av dataelementer som er lagret i samme variabelnavn, omtrent som en liste. Elementene i matrisen er tilgjengelig gjennom en null-indeksert referanse, brukes ved å kapsle indeksen i hakeparentes, som i følgende eksempel:

int my_array [5] = {4, 5, 6, 7, 8};
cout << my_array [4];

C ++ Array Type

Matrisen datatype i C og C ++ representerer en samling av data som er lagret i minnet ved siden av hverandre. Hvis man forestille datamaskinminne som en serie av blokker, som hver representerer en unik adresse, kan hvert deklarert variabel i et program tar opp en rekke blokker, basert på størrelsen av dataene. Når en matrise blir erklært setter kompilatoren side en lineær rekke blokker som kan holde hvert dataelement tilstøtende fra hverandre. En array i C og C ++ er virkelig en referanse til det første elementet i listen, og utgjør derfor en grunnleggende minne referanse.

Objekter og Array typer i C #

Med andre programmeringsspråk som C #, arrays jobbe litt annerledes. C # er en fullstendig objektorientert programmeringsspråk. Alt i C #, med utelukkelse av skalarene (for eksempel hele tall og tegn) er et objekt. Dette betyr at i stedet for å håndtere en referanse til minne, er du arbeider med et objekt som legger til funksjonalitet til denne matrisen. Med dette i tankene, erklærte et objekt i objektorientert programmering fungerer annerledes enn å erklære grunnleggende datatyper i prosedyreorientert programmering.

Bad Array Declerator

Når erklære en matrise i språk som C #, må matrisen erklæringen uttalelse følge en bestemt syntaks. Den "nye" søkeord må brukes, og de hakeparenteser må følge datatypedeklarasjon, ikke variabelnavnet. Følgende eksempel illustrerer forskjellen mellom erklærte arrays i C # og C ++. Bruk av feil erklæring syntaksen i C # vil resultere i en "Bad Array Declarator" feil.

/ C ++ /
int my_array [5]; // Utvalg av 5 elementer

/ C # /
int [] my_array = ny rekke [5]; // Utvalg av 5 elementer