logo

Tableau C

Un tableau est défini comme une collection d’éléments de données de type similaire stockés dans des emplacements de mémoire contigus. Les tableaux sont le type de données dérivé dans le langage de programmation C qui peut stocker le type primitif de données tel que int, char, double, float, etc. Il a également la capacité de stocker la collection de types de données dérivés, tels que les pointeurs, la structure, etc. Le tableau est la structure de données la plus simple où chaque élément de données est accessible de manière aléatoire en utilisant son numéro d'index.

Le tableau C est avantageux si vous devez stocker des éléments similaires. Par exemple, si nous voulons stocker les notes d'un élève dans 6 matières, alors nous n'avons pas besoin de définir différentes variables pour les notes dans les différentes matières. Au lieu de cela, nous pouvons définir un tableau qui peut stocker les marques de chaque sujet aux emplacements mémoire contigus.

En utilisant le tableau, nous pouvons accéder facilement aux éléments. Seules quelques lignes de code sont nécessaires pour accéder aux éléments du tableau.

Propriétés du tableau

Le tableau contient les propriétés suivantes.

  • Chaque élément d'un tableau est du même type de données et a la même taille, c'est-à-dire int = 4 octets.
  • Les éléments du tableau sont stockés dans des emplacements de mémoire contigus, le premier élément étant stocké dans le plus petit emplacement de mémoire.
  • Les éléments du tableau sont accessibles de manière aléatoire puisque nous pouvons calculer l'adresse de chaque élément du tableau avec l'adresse de base donnée et la taille de l'élément de données.

Avantage du tableau C

1) Optimisation du code : Moins de code pour accéder aux données.

2) Facilité de déplacement : En utilisant la boucle for, on peut récupérer facilement les éléments d'un tableau.

3) Facilité de tri : Pour trier les éléments du tableau, nous n’avons besoin que de quelques lignes de code.

4) Accès aléatoire : Nous pouvons accéder à n’importe quel élément de manière aléatoire en utilisant le tableau.

Inconvénient du tableau C

1) Taille fixe : Quelle que soit la taille que l'on définit au moment de la déclaration du tableau, on ne peut pas dépasser la limite. Ainsi, sa taille n’augmente pas dynamiquement comme LinkedList, ce que nous apprendrons plus tard.

Déclaration du tableau C

Nous pouvons déclarer un tableau en langage C de la manière suivante.

 data_type array_name[array_size]; 

Voyons maintenant l'exemple pour déclarer le tableau.

 int marks[5]; 

Ici, int est le Type de données , les marques sont les nom_tableau , et 5 est le taille_tableau .

Initialisation du tableau C

La manière la plus simple d'initialiser un tableau consiste à utiliser l'index de chaque élément. Nous pouvons initialiser chaque élément du tableau en utilisant l'index. Considérez l'exemple suivant.

pivot du serveur SQL
 marks[0]=80;//initialization of array marks[1]=60; marks[2]=70; marks[3]=85; marks[4]=75; 
initialisation du tableau en langage C

Exemple de tableau 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&apos;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&apos;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(&apos;Enter the size of the array?&apos;); scanf(&apos;%d&apos;,&amp;n); printf(&apos;Enter the elements of the array?&apos;); 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 &amp;&amp; arr[i]!=largest) { sec_largest=arr[i]; } } printf(&apos;largest = %d, second largest = %d&apos;,largest,sec_largest); } </n;></pre> <hr></10;></pre></5;i++){></pre></5;i++){>

Tableau C : déclaration avec initialisation

Nous pouvons initialiser le tableau c au moment de la déclaration. Voyons le code.

 int marks[5]={20,30,40,50,60}; 

Dans un tel cas, il y a pas d'obligation de définir la taille . Il peut donc également être écrit sous la forme du code suivant.

 int marks[]={20,30,40,50,60}; 

Voyons le programme C pour déclarer et initialiser le tableau en 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(&apos;Enter the size of the array?&apos;); scanf(&apos;%d&apos;,&amp;n); printf(&apos;Enter the elements of the array?&apos;); 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 &amp;&amp; arr[i]!=largest) { sec_largest=arr[i]; } } printf(&apos;largest = %d, second largest = %d&apos;,largest,sec_largest); } </n;></pre> <hr></10;></pre></5;i++){>

Exemple de tableau C : tri d'un tableau

Dans le programme suivant, nous utilisons la méthode de tri à bulles pour trier le tableau par ordre croissant.

 #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(&apos;Enter the size of the array?&apos;); scanf(&apos;%d&apos;,&amp;n); printf(&apos;Enter the elements of the array?&apos;); 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 &amp;&amp; arr[i]!=largest) { sec_largest=arr[i]; } } printf(&apos;largest = %d, second largest = %d&apos;,largest,sec_largest); } </n;></pre> <hr></10;>