Hvordan lage en Array i C

Arrays tilby den mest effektive metoden for lagring av lister av data i C. De er veldig lett for programmerer å lage og bruke, og de er utrolig raske til datamaskinen for å få tilgang til og oppdatere. Men de kan kaste bort en masse minne, så de er ikke alltid det beste å bruke. Når den ikke brukes forsiktig, kan de også føre til krasj, feil og ustabilitet i systemet.

Bruksanvisning

Opprett en Array i C

1 Forstå at hvert element i en array (eller noen annen form for liste) vil være den samme type data. For eksempel vil en liste over testresultater være en rekke tall, siden hver test score er et heltall. For mer komplekse data, må du definere en struktur.

2 Bestem hva den største størrelsen din matrise noensinne kan nå vil bli, fordi arrays har en fast lengde. Det er lurt å finne en balanse mellom å ha programmet i stand til å håndtere uvanlig lang datasett, og ha det kreve (og avfall) mye minne.

3 Lag tabellen på samme måte som du ville skape en enkelt variabel, men legger den maksimale størrelsen i hakeparentes etter navnet, som i disse eksemplene:

int test_scores [50];
røye first_name [20];
employee_record ansatte [1000];

4 Opprett en ny variabel som holder styr på hvor mange elementer du har lagt til i tabellen så langt.

5 Lag en matrise med flere dimensjoner rett og slett gjør en rekke arrays, som dette:

int test_answers [10] [20];
røye student_names [50] [20];

Bruk Array

6 Åpne tabellens elementer med indeksen i hakeparentes, slik:

test_scores [12] = 50;
printf ( "Test score:% d \ n", test_scores [i]);

7 Pass matriser til funksjoner, hvis du ønsker det. Du trenger ikke å (og bør ikke) angir størrelsen på funksjonsdefinisjonen. Dette er hva funksjonsdefinisjonen og samtalen ville se slik ut:

funksjon Subtotal (int test_scores []);
test_subtotal = Subtotal (test_scores);

Hint

  • Indeksen av en matrise er alltid av typen int.
  • En tegnstreng er faktisk en rekke tegn, og alle strenghåndteringsfunksjoner innebygd i C er standard biblioteker arbeider med disse matriser.
  • Når passerer en matrise til en funksjon, vil endringer i rekken av funksjonen bære over til kallet funksjonen!
  • Legg merke til at det første elementet i en matrise er element 0, ikke element 1. Det betyr at hvis din matrise har 50 elementer, de er nummerert 0-49.
  • Tilgang elementer forbi den siste du erklært kalles en "buffer overflow", og er årsaken til brorparten av bugs og krasjer i C-programmer. C gir ingen beskyttelse mot bufferoverløp. I stedet er det opp til deg å unngå det gjennom forsiktig programmering.
  • Matrisen størrelse må være en konstant, og det kan ikke lett endres mens programmet kjører. Hvis du trenger å være i stand til å endre størrelsen på listen som du går, bør du vurdere å bruke en lenket liste i stedet.