En matrix er en datastruktur, der bruges til at gemme sekventielle elementer af samme datatype. Placeringen af et element i sekvensen kaldes et indeks. Indekser starter fra 0 til (n-1).
I denne artikel lærer du, hvordan du bruger arrays i C. De fleste af begreberne her går over til de fleste andre programmeringssprog, så sørg for at tage dem til efterretning.
Definere arrays
For at definere et array skal du skrive dets datatype efterfulgt af arraynavnet og firkantede parenteser:
int alder [8];
Inde i firkantede parenteser er det forventede antal dataelementer, som arrayet vil modtage. Hvis du har brug for at deklarere to arrays på samme tid, kan du gøre det som nedenfor. Det er værd at nævne, at deklarering af dem separat er den foretrukne måde.
int alder [8], højde [8];
Det er også muligt at deklarere en matrix som nedenfor:
int [8] alder;
Ovenstående syntaks ville betyde det alder er en markør til en matrix af type int. Selvom du kan bruge "pointer syntax", foretrækkes den første.
Relaterede: Sådan vises multiplikationstabellen for et tal ved hjælp af Python, C ++, JavaScript og C
Nogle gange ved du måske ikke, hvor mange elementer du forventer, at dit array skal have. I et sådant tilfælde skal du deklarere arrayet uden antal elementer. Se eksemplet herunder:
int alder [];
Operationer på arrays
For at referere til et matrixelement skal du skrive matrixnavnet efterfulgt af dets indeks i firkantede parenteser (f.eks. alder [5]). Du kan også bruge variabler inden for de firkantede parenteser:
alder [x+y]
Du skal sikre, at beregningen af disse variabler ligger i området 0 til (n-1). Ellers får du en kompilationsfejl.
Initialisering
Arrayelementer kan gives ved erklæring eller senere i programmet. Denne handling er kendt som initialisering, da matrixen oprindeligt har nulværdier.
Se eksemplet herunder. Det udskriver et element værdi og dets indeks i arrayet. Linje 5 bruger en initialiseringsliste til at initialisere heltal arrayet.
#omfatte
int main (void) {
printf ("%s%11s
"," Element "," Value ");
int n [4] = {1, 4, 9, 16};
// output array -elementer i tabelformat
for (size_t i = 0; i <4; ++ i) {
printf ("%5u%10d
", i, n [i]);
}
}
Produktion:
Elementværdi
0 1
1 4
2 9
3 16
Brug af arrays til at gemme strenge
Arrays kan også bruges til at gemme strenge, ikke kun heltal. Når det bruges på denne måde, skal du huske at inkludere enkelte citater for hvert element i initialiseringslisten.
kulfrugt [] = ['b', 'e', 'r', 'r', 'y', '\ 0'];
Bemærk, at forkælelse datatype bruges. En streng bogstaveligt består faktisk af individuelle tegn, og det er derfor, du ser forkælelse.
Relaterede: Sådan lærer du C ++ programmering: 6 websteder til at komme i gang
Den viste matrix slutter med en escape -sekvens (\0). Dette er et strengtermineringstegn kaldet nulltegnet. Du skal altid inkludere dette, når du initialiserer en matrixliste.
Der er faktisk en enklere måde at initialisere et tegnsæt. Vi viste først den tidligere tilgang, så du ved, at et tegnsæt altid har et særligt sluttegn (\0). Det er en almindelig fejl for begyndere programmører at have matrixstørrelsen mindre med en og glemme det sidste element (\0).
char string1 [5] = "Kode";
Antag, at du skal hente brugerinput og gemme det i et array. Du kan bruge standardbiblioteksfunktionen scanf for det.
Du skal dog angive det antal tegn, funktionen skal forvente. Dette er fordi scanf kontrollerer ikke arraystørrelsen og kan skrive data til adresser ud over arrayet, hvilket forårsager et bufferoverløb.
Brug %s konverteringsspecifikator for at definere det maksimalt forventede input. Det scanf funktion læser alle indtastede tegn, indtil der opstår mellemrum, fane, ny linje eller en indikator for slutningen af filen.
Fremme af din C -programmering
De ressourcer, du bruger til at lære, er lige så afgørende som din iver efter at lære. Læring uden god praksis vil gøre din programmeringsrejse udfordrende.
C er et særligt udfordrende sprog at lære, da det ikke er objektorienteret. Heldigvis har vi masser af ressourcer til at hjælpe dig med at mestre C -programmering.
Har du nogensinde ønsket, at du vidste, hvordan du udfører grundlæggende programmering i C? Nu kan du takke dette træningsbundt.
Læs Næste
- Programmering
- C Programmering
- Programmering
- Programmeringssprog
Jerome er personaleforfatter på MakeUseOf. Han dækker artikler om programmering og Linux. Han er også en kryptoentusiast og holder altid øje med kryptoindustrien.
Abonner på vores nyhedsbrev
Tilmeld dig vores nyhedsbrev for at få tekniske tips, anmeldelser, gratis e -bøger og eksklusive tilbud!
Klik her for at abonnere