Een array is een gegevensstructuur die wordt gebruikt om opeenvolgende items van hetzelfde gegevenstype op te slaan. De positie van een element in de reeks wordt een index genoemd. Indexen beginnen van 0 tot (n-1).
In dit artikel leer je hoe je arrays gebruikt in C. De meeste concepten die hier worden gebruikt, komen overeen met de meeste andere programmeertalen, dus zorg ervoor dat u er kennis van neemt.
Arrays definiëren
Om een array te definiëren, schrijft u het gegevenstype, gevolgd door de arraynaam en vierkante haken:
int leeftijd[8];
Binnen de vierkante haken staat het verwachte aantal gegevensitems dat de array zal ontvangen. Als u twee arrays tegelijkertijd moet declareren, kunt u dit als volgt doen. Het is vermeldenswaard dat het de voorkeur heeft om ze afzonderlijk te declareren.
int leeftijd[8], lengte[8];
Het is ook mogelijk om een array te declareren zoals hieronder:
int[8] leeftijd;
De bovenstaande syntaxis zou betekenen dat: leeftijd is een aanwijzer naar een array van het type int. Hoewel u de "aanwijzersyntaxis" kunt gebruiken, heeft de eerste de voorkeur.
Verwant: De vermenigvuldigingstabel van een getal weergeven met Python, C++, JavaScript en C
Soms weet u misschien niet hoeveel elementen u van uw array verwacht. In zo'n geval zou je de array moeten declareren zonder het aantal elementen. Zie het voorbeeld hieronder:
int leeftijd[];
Bewerkingen op arrays
Om naar een array-element te verwijzen, schrijft u de arraynaam gevolgd door de index tussen vierkante haken (bijv. leeftijd[5]). U kunt ook variabelen tussen vierkante haken gebruiken:
leeftijd[x+y]
U moet ervoor zorgen dat de berekening van deze variabelen in het bereik van 0 tot (n-1) ligt. Anders krijg je een compilatiefout.
Initialisatie
Array-elementen kunnen worden opgegeven bij declaratie of later in het programma. Deze actie staat bekend als initialisatie omdat de array aanvankelijk null-waarden heeft.
Zie het voorbeeld hieronder. Het drukt de waarde van een element en zijn index af in de array. Regel 5 gebruikt een initialisatielijst om de integerarray te initialiseren.
#erbij betrekken
int hoofd (void) {
printf("%s%11s
", "Element", "Waarde");
int n[4] = {1, 4, 9, 16};
// uitvoer array-elementen in tabelvorm
voor (size_t i = 0; ik < 4; ++i) {
printf("%5u%10d
", ik, n[i]);
}
}
Uitgang:
Elementwaarde
0 1
1 4
2 9
3 16
Arrays gebruiken om strings op te slaan
Arrays kunnen ook worden gebruikt om strings op te slaan, niet alleen gehele getallen. Als u het op deze manier gebruikt, vergeet dan niet om enkele aanhalingstekens op te nemen voor elk element in de initialisatielijst.
char fruit[]= ['b', 'e', 'r', 'r', 'y', '\0' ];
Merk op dat de char gegevenstype wordt gebruikt. Een letterlijke tekenreeks bestaat eigenlijk uit individuele karakters, en daarom zie je char.
Verwant: Hoe u C++-programmering leert: 6 sites om aan de slag te gaan
De getoonde array eindigt met een escape-reeks (\0). Dit is een tekenreeksbeëindigingsteken dat het null-teken wordt genoemd. U moet dit altijd opnemen bij het initialiseren van een arraylijst.
Er is eigenlijk een eenvoudigere manier om een tekenreeks te initialiseren. We hebben eerst de vorige benadering laten zien, zodat u weet dat een tekenreeks altijd een speciaal eindteken heeft (\0). Het is een veelvoorkomende fout voor beginnende programmeurs om de grootte van de array met één te verkleinen en het laatste element te vergeten (\0).
char string1[5] = "Code";
Stel dat u gebruikersinvoer moet krijgen en deze in een array moet opslaan. U kunt de standaard bibliotheekfunctie gebruiken scanf voor deze.
U moet echter het aantal tekens opgeven dat de functie mag verwachten. Dit is zo omdat scanf controleert de grootte van de array niet en schrijft mogelijk gegevens naar adressen buiten de array, waardoor een bufferoverloop ontstaat.
Gebruik de %s conversiespecificatie om de maximaal verwachte invoer te definiëren. De scanf functie leest alle ingevoerde tekens totdat spatie, tab, nieuwe regel of een indicator voor het einde van het bestand wordt aangetroffen.
Uw C-programmering bevorderen
De middelen die u gebruikt om te leren zijn net zo cruciaal als uw leergierigheid. Leren zonder goede oefening zal uw programmeerreis uitdagend maken.
C is een bijzonder uitdagende taal om te leren, omdat het niet objectgeoriënteerd is. Gelukkig hebben we genoeg bronnen om je te helpen C-programmeren onder de knie te krijgen.
Ooit gewenst dat je wist hoe je basisprogrammering in C uitvoert? Dat kan nu dankzij deze trainingsbundel.
Lees volgende
- Programmeren
- C Programmeren
- Programmeren
- Programmeertalen
Jerome is een stafschrijver bij MakeUseOf. Hij behandelt artikelen over programmeren en Linux. Hij is ook een crypto-enthousiasteling en houdt de crypto-industrie altijd in de gaten.
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Klik hier om je te abonneren