Een array wordt gedefinieerd als de verzameling van vergelijkbare typen gegevensitems die zijn opgeslagen op aangrenzende geheugenlocaties. Arrays zijn het afgeleide gegevenstype in de programmeertaal C, die het primitieve type gegevens kunnen opslaan, zoals int, char, double, float, enz. Het heeft ook de mogelijkheid om de verzameling afgeleide gegevenstypen op te slaan, zoals pointers, structuur, etc. De array is de eenvoudigste datastructuur waarbij elk data-element willekeurig toegankelijk is door het indexnummer ervan te gebruiken.
C-array is handig als u vergelijkbare elementen moet opslaan. Als we bijvoorbeeld de cijfers van een student in 6 vakken willen opslaan, hoeven we geen verschillende variabelen te definiëren voor de cijfers in het verschillende vak. In plaats daarvan kunnen we een array definiëren die de markeringen in elk onderwerp op de aangrenzende geheugenlocaties kan opslaan.
Door de array te gebruiken, hebben we gemakkelijk toegang tot de elementen. Er zijn slechts een paar regels code nodig om toegang te krijgen tot de elementen van de array.
Eigenschappen van matrix
De array bevat de volgende eigenschappen.
- Elk element van een array heeft hetzelfde gegevenstype en heeft dezelfde grootte, dat wil zeggen int = 4 bytes.
- Elementen van de array worden opgeslagen op aangrenzende geheugenlocaties, waarbij het eerste element op de kleinste geheugenlocatie wordt opgeslagen.
- Elementen van de array kunnen willekeurig worden benaderd, omdat we het adres van elk element van de array kunnen berekenen met het gegeven basisadres en de grootte van het data-element.
Voordeel van C-array
1) Code-optimalisatie : Minder code voor toegang tot de gegevens.
2) Gemakkelijk te doorkruisen : Door de for-lus te gebruiken, kunnen we de elementen van een array eenvoudig ophalen.
3) Gemak van sorteren : Om de elementen van de array te sorteren, hebben we slechts een paar regels code nodig.
4) Willekeurige toegang : We hebben willekeurig toegang tot elk element met behulp van de array.
Nadeel van C-array
1) Vaste maat : Welke grootte we ook definiëren op het moment dat de array wordt gedeclareerd, we kunnen de limiet niet overschrijden. Het groeit dus niet dynamisch zo groot als LinkedList, wat we later zullen leren.
Verklaring van C-array
We kunnen een array in de c-taal op de volgende manier declareren.
data_type array_name[array_size];
Laten we nu het voorbeeld bekijken om de array te declareren.
int marks[5];
Hier is int de data type , merken zijn de array_naam , en 5 is de array_grootte .
Initialisatie van C-array
De eenvoudigste manier om een array te initialiseren is door de index van elk element te gebruiken. We kunnen elk element van de array initialiseren met behulp van de index. Beschouw het volgende voorbeeld.
download youtube-video's op vlc
marks[0]=80;//initialization of array marks[1]=60; marks[2]=70; marks[3]=85; marks[4]=75;
C-array voorbeeld
#include int main(){ int i=0; int marks[5];//declaration of array marks[0]=80;//initialization of array marks[1]=60; marks[2]=70; marks[3]=85; marks[4]=75; //traversal of array for(i=0;i<5;i++){ printf('%d ',marks[i]); } end of for loop return 0; < pre> <p> <strong>Output</strong> </p> <pre> 80 60 70 85 75 </pre> <h2>C Array: Declaration with Initialization</h2> <p>We can initialize the c array at the time of declaration. Let's see the code.</p> <pre> int marks[5]={20,30,40,50,60}; </pre> <p>In such case, there is <strong>no requirement to define the size</strong> . So it may also be written as the following code.</p> <pre> int marks[]={20,30,40,50,60}; </pre> <p>Let's see the C program to declare and initialize the array in C.</p> <pre> #include int main(){ int i=0; int marks[5]={20,30,40,50,60};//declaration and initialization of array //traversal of array for(i=0;i<5;i++){ printf('%d ',marks[i]); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> 20 30 40 50 60 </pre> <h2>C Array Example: Sorting an array</h2> <p>In the following program, we are using bubble sort method to sort the array in ascending order.</p> <pre> #include void main () { int i, j,temp; int a[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23}; for(i = 0; i<10; i++) { for(j="i+1;" j a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" } printf('printing sorted element list ... '); for(i="0;" i<10; printf('%d ',a[i]); < pre> <h2>Program to print the largest and second largest element of the array.</h2> <pre> #include void main () { int arr[100],i,n,largest,sec_largest; printf('Enter the size of the array?'); scanf('%d',&n); printf('Enter the elements of the array?'); for(i = 0; i<n; i++) { scanf('%d',&arr[i]); } largest="arr[0];" sec_largest="arr[1];" for(i="0;ilargest)" else if (arr[i]>sec_largest && arr[i]!=largest) { sec_largest=arr[i]; } } printf('largest = %d, second largest = %d',largest,sec_largest); } </n;></pre> <hr></10;></pre></5;i++){></pre></5;i++){>
C-array: aangifte met initialisatie
We kunnen de c-array initialiseren op het moment van declaratie. Laten we de code eens bekijken.
int marks[5]={20,30,40,50,60};
In zo'n geval is dat zo geen vereiste om de maat te definiëren . Het kan dus ook als de volgende code worden geschreven.
int marks[]={20,30,40,50,60};
Laten we eens kijken naar het C-programma om de array in C te declareren en te initialiseren.
#include int main(){ int i=0; int marks[5]={20,30,40,50,60};//declaration and initialization of array //traversal of array for(i=0;i<5;i++){ printf(\'%d \',marks[i]); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> 20 30 40 50 60 </pre> <h2>C Array Example: Sorting an array</h2> <p>In the following program, we are using bubble sort method to sort the array in ascending order.</p> <pre> #include void main () { int i, j,temp; int a[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23}; for(i = 0; i<10; i++) { for(j="i+1;" j a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" } printf(\'printing sorted element list ... \'); for(i="0;" i<10; printf(\'%d \',a[i]); < pre> <h2>Program to print the largest and second largest element of the array.</h2> <pre> #include void main () { int arr[100],i,n,largest,sec_largest; printf('Enter the size of the array?'); scanf('%d',&n); printf('Enter the elements of the array?'); for(i = 0; i<n; i++) { scanf(\'%d\',&arr[i]); } largest="arr[0];" sec_largest="arr[1];" for(i="0;ilargest)" else if (arr[i]>sec_largest && arr[i]!=largest) { sec_largest=arr[i]; } } printf('largest = %d, second largest = %d',largest,sec_largest); } </n;></pre> <hr></10;></pre></5;i++){>
C Array Voorbeeld: een array sorteren
In het volgende programma gebruiken we de bubble-sorteermethode om de array in oplopende volgorde te sorteren.
#include void main () { int i, j,temp; int a[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23}; for(i = 0; i<10; i++) { for(j="i+1;" j a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" } printf(\'printing sorted element list ... \'); for(i="0;" i<10; printf(\'%d \',a[i]); < pre> <h2>Program to print the largest and second largest element of the array.</h2> <pre> #include void main () { int arr[100],i,n,largest,sec_largest; printf('Enter the size of the array?'); scanf('%d',&n); printf('Enter the elements of the array?'); for(i = 0; i<n; i++) { scanf(\'%d\',&arr[i]); } largest="arr[0];" sec_largest="arr[1];" for(i="0;ilargest)" else if (arr[i]>sec_largest && arr[i]!=largest) { sec_largest=arr[i]; } } printf('largest = %d, second largest = %d',largest,sec_largest); } </n;></pre> <hr></10;>
10;>5;i++){>5;i++){>