Un array è definito come la raccolta di tipi simili di elementi di dati archiviati in posizioni di memoria contigue. Gli array sono il tipo di dati derivati nel linguaggio di programmazione C che può memorizzare il tipo primitivo di dati come int, char, double, float, ecc. Ha anche la capacità di memorizzare la raccolta di tipi di dati derivati, come puntatori, struttura, ecc. L'array è la struttura dati più semplice in cui è possibile accedere in modo casuale a ciascun elemento dati utilizzando il relativo numero di indice.
L'array C è utile se è necessario memorizzare elementi simili. Ad esempio, se vogliamo memorizzare i voti di uno studente in 6 materie, non avremo bisogno di definire variabili diverse per i voti nelle diverse materie. Invece di ciò, possiamo definire un array che può memorizzare i segni in ciascun soggetto nelle posizioni di memoria contigue.
Utilizzando l'array, possiamo accedere facilmente agli elementi. Sono necessarie solo poche righe di codice per accedere agli elementi dell'array.
Proprietà della matrice
L'array contiene le seguenti proprietà.
- Ogni elemento di un array è dello stesso tipo di dati e ha la stessa dimensione, ovvero int = 4 byte.
- Gli elementi dell'array vengono archiviati in posizioni di memoria contigue dove il primo elemento viene archiviato nella posizione di memoria più piccola.
- È possibile accedere agli elementi dell'array in modo casuale poiché possiamo calcolare l'indirizzo di ciascun elemento dell'array con l'indirizzo di base fornito e la dimensione dell'elemento dati.
Vantaggio dell'array C
1) Ottimizzazione del codice : Meno codice per accedere ai dati.
2) Facilità di spostamento : Utilizzando il ciclo for, possiamo recuperare facilmente gli elementi di un array.
3) Facilità di smistamento : Per ordinare gli elementi dell'array, abbiamo bisogno solo di poche righe di codice.
4) Accesso casuale : Possiamo accedere a qualsiasi elemento in modo casuale utilizzando l'array.
Svantaggio dell'array C
1) Dimensione fissa : Qualunque sia la dimensione che definiamo al momento della dichiarazione dell'array, non possiamo superare il limite. Quindi, non aumenta le dimensioni in modo dinamico come LinkedList che impareremo in seguito.
Dichiarazione dell'array C
Possiamo dichiarare un array nel linguaggio c nel modo seguente.
data_type array_name[array_size];
Ora vediamo l'esempio per dichiarare l'array.
int marks[5];
Ecco, int è il tipo di dati , i segni sono i nome_array , e 5 è il dimensione_array .
Inizializzazione dell'array C
Il modo più semplice per inizializzare un array è utilizzare l'indice di ciascun elemento. Possiamo inizializzare ogni elemento dell'array utilizzando l'indice. Considera il seguente esempio.
comando arp
marks[0]=80;//initialization of array marks[1]=60; marks[2]=70; marks[3]=85; marks[4]=75;
Esempio di matrice C
#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++){>
Array C: dichiarazione con inizializzazione
Possiamo inizializzare l'array c al momento della dichiarazione. Vediamo il codice.
int marks[5]={20,30,40,50,60};
In tal caso, c'è nessun obbligo di definire la dimensione . Quindi può anche essere scritto come il seguente codice.
int marks[]={20,30,40,50,60};
Vediamo il programma C per dichiarare e inizializzare l'array in C.
#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++){>
Esempio di array C: ordinamento di un array
Nel seguente programma utilizziamo il metodo Bubble Sort per ordinare l'array in ordine crescente.
#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++){>