Maison > Article > développement back-end > Quelles sont les limites des tableaux en langage C ?
Un tableau est une structure de données qui peut stocker une collection séquentielle de taille fixe d'éléments du même type.
Les tableaux sont utilisés pour stocker des collections de données, mais il est plus utile de considérer les tableaux comme des collections de variables du même type.
Voici les limites des tableaux :
Le tableau formé sera homogène. C'est-à-dire que seules les valeurs entières peuvent être stockées dans un tableau d'entiers, seules les valeurs à virgule flottante peuvent être stockées dans un tableau à virgule flottante et seuls les caractères peuvent être stockés dans un tableau de caractères. Par conséquent, un tableau ne peut pas avoir des valeurs des deux types de données en même temps.
Lors de la déclaration d'un tableau, transmettre la taille du tableau est obligatoire et la taille doit être une constante. Par conséquent, la mémoire peut être insuffisante ou gaspillée.
Des opérations de décalage sont nécessaires lors de l'insertion ou de la suppression d'éléments d'un tableau.
Le tableau ne vérifie pas les limites : En langage C, nous ne pouvons pas vérifier si la valeur saisie dans le tableau dépasse la taille du tableau.
Les données saisies à l'aide d'indices dépassent la taille du tableau et seront placées en dehors du tableau. Généralement au-dessus des données ou du programme lui-même.
Cela conduira à des résultats pour le moins imprévisibles. De plus, il n'y a aucun message d'erreur pour avertir le programmeur que la taille du tableau a été dépassée. Dans certains cas, le programme peut se bloquer.
Par conséquent, le programme suivant peut produire des résultats indésirables :
int a[10],i; for(i=0;i<=20;i++) a[i]=i;
Ce qui suit est un programme C qui affiche la somme de deux tableaux :
Démonstration en direct
#include<stdio.h> void main(){ //Declaring array with compile time initialization// int array1[5],array2[5],sum[5]; //Declaring variables// int i; //Printing O/p using for loop// printf("Enter the values of array1 :</p><p>"); for(i=0;i<5;i++){ printf("array1[%d] : </p><p>",i); scanf("%d",&array1[i]); } printf("Enter the values of array2 :</p><p>"); for(i=0;i<5;i++){ printf("array2[%d] :</p><p>",i); scanf("%d",&array2[i]); } printf("Elements in the sum of array1 and array2 are:</p><p> "); for(i=0;i<5;i++){ sum[i]=array1[i]+array2[i]; printf("%d ",sum[i]); } }
Lorsque le programme ci-dessus est exécuté , ce qui produit le résultat suivant −
Enter the values of array1 : array1[0] :2 array1[1] :3 array1[2] :1 array1[3] :2 array1[4] :3 Enter the values of array2 : array2[0] :4 array2[1] :5 array2[2] :3 array2[3] :2 array2[4] :1 Elements in the sum of array1 and array2 are: 6 8 4 4 4
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!