En array är en datastruktur som används för att lagra sekventiella objekt av samma datatyp. Positionen för ett element i sekvensen kallas ett index. Index börjar från 0 till (n-1).
I den här artikeln lär du dig hur du använder matriser i C. De flesta begreppen här går igenom till de flesta andra programmeringsspråk, så var noga med att notera dem.
Definiera matriser
För att definiera en matris, skriv dess datatyp följt av matrisnamnet och hakparenteser:
int ålder [8];
Inuti hakparenteserna finns det förväntade antalet dataposter som arrayen kommer att ta emot. Om du behöver deklarera två matriser samtidigt kan du göra det enligt nedan. Det är värt att nämna att deklarera dem separat är det föredragna sättet.
int ålder [8], höjd [8];
Det är också möjligt att deklarera en array enligt nedan:
int [8] ålder;
Ovanstående syntax skulle betyda det ålder är en pekare till en matris av typ int. Även om du kan använda "pekarsyntaxen", är den första att föredra.
Relaterad: Hur man visar multiplikationstabellen för ett tal med Python, C ++, JavaScript och C
Ibland kanske du inte vet hur många element du förväntar dig att din array ska ha. I ett sådant fall måste du deklarera matrisen utan antalet element. Se exemplet nedan:
int ålder [];
Operationer på arrays
För att referera till ett matriselement, skriv matrisnamnet följt av dess index inom hakparenteser (t.ex. ålder [5]). Du kan också använda variabler inom hakparenteserna:
ålder [x+y]
Du måste se till att beräkningen av dessa variabler ligger i intervallet 0 till (n-1). Annars får du ett kompileringsfel.
Initiering
Arrayelement kan ges vid deklaration eller senare i programmet. Denna åtgärd kallas initialisering eftersom arrayen initialt har nullvärden.
Se exemplet nedan. Det skriver ut ett element värde och dess index i matrisen. Rad 5 använder en initieringslista för att initiera heltalmatrisen.
#omfatta
int main (void) {
printf ("%s%11s
"," Element "," Value ");
int n [4] = {1, 4, 9, 16};
// utmatningselement i tabellformat
för (size_t i = 0; i <4; ++ i) {
printf ("%5u%10d
", i, n [i]);
}
}
Produktion:
Elementvärde
0 1
1 4
2 9
3 16
Använda matriser för att lagra strängar
Arrays kan också användas för att lagra strängar, inte bara heltal. När det används på det här sättet, kom ihåg att inkludera enskilda citattecken för varje element i initialiseringslistan.
rödingfrukt [] = ['b', 'e', 'r', 'r', 'y', '\ 0'];
Lägg märke till att röding datatyp används. En strängbokstav består faktiskt av enskilda tecken, och det är därför du ser röding.
Relaterad: Hur man lär sig C ++ - programmering: 6 webbplatser för att komma igång
Arrayen som visas slutar med en escape -sekvens (\0). Detta är ett strängavslutande tecken som kallas nulltecken. Du måste alltid inkludera detta när du initierar en matrislista.
Det finns faktiskt ett enklare sätt att initiera en teckenmatris. Vi visade först det tidigare tillvägagångssättet så att du vet att en teckenmatris alltid har ett speciellt sluttecken (\0). Det är ett vanligt fel för nybörjare att ha matrisstorleken mindre med en, glömma det sista elementet (\0).
char string1 [5] = "Kod";
Antag att du behöver få användarinmatning och lagra den i en array. Du kan använda standardbiblioteksfunktionen scanf för detta.
Du måste dock ange hur många tecken funktionen ska förvänta sig. Det här är för att scanf kontrollerar inte matrisstorleken och kan skriva data till adresser bortom matrisen, vilket orsakar ett buffertflöde.
Använd %s konverteringsspecifikatorn för att definiera den maximala förväntade inputen. De scanf funktionen läser alla inmatade tecken tills mellanslag, flik, nyrad eller en indikator för slutfil visas.
Framsteg för din C -programmering
De resurser du använder för att lära dig är lika avgörande som din nit att lära. Inlärning utan god praxis kommer att göra din programmeringsresa utmanande.
C är ett särskilt utmanande språk att lära sig eftersom det inte är objektorienterat. Lyckligtvis har vi massor av resurser för att hjälpa dig att behärska C -programmering.
Någonsin önskat att du visste hur man utför grundläggande programmering i C? Nu kan du tacka detta träningspaket.
Läs Nästa
- Programmering
- C Programmering
- Programmering
- Programmeringsspråk
Jerome är personalförfattare på MakeUseOf. Han täcker artiklar om programmering och Linux. Han är också en kryptoentusiast och håller alltid koll på kryptoindustrin.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!
Klicka här för att prenumerera