Ein Array ist als Sammlung ähnlicher Datenelemente definiert, die an zusammenhängenden Speicherorten gespeichert sind. Arrays sind der abgeleitete Datentyp in der Programmiersprache C, der den primitiven Datentyp wie int, char, double, float usw. speichern kann. Es verfügt auch über die Fähigkeit, die Sammlung abgeleiteter Datentypen wie Zeiger, Struktur usw. zu speichern. usw. Das Array ist die einfachste Datenstruktur, bei der auf jedes Datenelement mithilfe seiner Indexnummer zufällig zugegriffen werden kann.
Ein C-Array ist von Vorteil, wenn Sie ähnliche Elemente speichern müssen. Wenn wir beispielsweise die Noten eines Schülers in 6 Fächern speichern möchten, müssen wir keine unterschiedlichen Variablen für die Noten in den verschiedenen Fächern definieren. Stattdessen können wir ein Array definieren, das die Markierungen in jedem Thema an den angrenzenden Speicherorten speichern kann.
Durch die Verwendung des Arrays können wir einfach auf die Elemente zugreifen. Für den Zugriff auf die Elemente des Arrays sind nur wenige Codezeilen erforderlich.
Eigenschaften von Array
Das Array enthält die folgenden Eigenschaften.
- Jedes Element eines Arrays ist vom gleichen Datentyp und hat die gleiche Größe, d. h. int = 4 Bytes.
- Elemente des Arrays werden an zusammenhängenden Speicherorten gespeichert, wobei das erste Element am kleinsten Speicherort gespeichert wird.
- Auf Elemente des Arrays kann wahlfrei zugegriffen werden, da wir die Adresse jedes Elements des Arrays anhand der angegebenen Basisadresse und der Größe des Datenelements berechnen können.
Vorteil des C-Arrays
1) Code-Optimierung : Weniger Code für den Zugriff auf die Daten.
2) Einfaches Überqueren : Mithilfe der for-Schleife können wir die Elemente eines Arrays einfach abrufen.
3) Einfache Sortierung : Um die Elemente des Arrays zu sortieren, benötigen wir nur ein paar Zeilen Code.
4) Direktzugriff : Wir können über das Array zufällig auf jedes Element zugreifen.
Nachteil des C-Arrays
1) Feste Größe : Welche Größe wir auch immer zum Zeitpunkt der Array-Deklaration definieren, wir dürfen den Grenzwert nicht überschreiten. Die Größe wächst also nicht dynamisch wie LinkedList, was wir später erfahren werden.
Deklaration des C-Arrays
Wir können ein Array in der Sprache C wie folgt deklarieren.
data_type array_name[array_size];
Sehen wir uns nun das Beispiel zur Deklaration des Arrays an.
int marks[5];
Hier ist int das Datentyp , Markierungen sind die array_name , und 5 ist die array_size .
Initialisierung des C-Arrays
Der einfachste Weg, ein Array zu initialisieren, besteht darin, den Index jedes Elements zu verwenden. Wir können jedes Element des Arrays mithilfe des Index initialisieren. Betrachten Sie das folgende Beispiel.
String-Methoden
marks[0]=80;//initialization of array marks[1]=60; marks[2]=70; marks[3]=85; marks[4]=75;
Beispiel für ein C-Array
#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: Deklaration mit Initialisierung
Wir können das c-Array zum Zeitpunkt der Deklaration initialisieren. Schauen wir uns den Code an.
int marks[5]={20,30,40,50,60};
In einem solchen Fall gibt es Es ist nicht erforderlich, die Größe zu definieren . Es kann also auch als folgender Code geschrieben werden.
int marks[]={20,30,40,50,60};
Sehen wir uns das C-Programm zum Deklarieren und Initialisieren des Arrays in C an.
#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++){>
Beispiel für ein C-Array: Sortieren eines Arrays
Im folgenden Programm verwenden wir die Blasensortiermethode, um das Array in aufsteigender Reihenfolge zu sortieren.
#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++){>