On appelle tableau une variable composée de données de même type, stockée de manière contiguë en mémoire (les unes à la suite des autres).
La taille d’un tableau est conditionnée (ou définie) par le type et le nombre de ces éléments :
Taille tableau (en octet) = taille du type de donnée (en octet) * le nombre des éléments
à tableau à plusieurs dimensions ou tableau multidimensionnel
Autres : Pointeurs et Structures
La déclaration d’un tableau à une dimension se fait de la façon suivante :
<Type Simple> Nom_du_Tableau [Nombre_Elements];
Type Simple : définit le type d’élément que contient le tableau (char, int,…)
Nom_du_Tableau : est le nom que l'on décide de donner au tableau, le nom du tableau suit les mêmes règles qu'un nom de variable.
Nombre_Elements : est une expression constante entière positive.
Exemples :
char caracteres[12] ; //Taille en octet : 1 octet * 12 = 12 octets
float reels_SP[8] ; //Taille en octet : 4 octets * 8 = 32 octet
#define N 10 //define permet d’assigner un nom à une constante
int entier[N] ; //Taille en octet : 2 octets * 10 = 20 octets
double reel_DP[2*N-5] ; //Taille en octet : 8 octets * 15 = 120 octets
Initialisation à la déclaration
Il est possible d’initialiser le tableau à la définition :
<Type> Tableau [Nombre_Elements] = {C1, C2, … , Cn};
Où C1, C2, .., Cn sont des constantes dont le nombre ne doit pas dépasser le Nombre_Elements (n<=Nombre_Elements).
Si la liste de constantes ne contient pas assez de valeurs pour tous les éléments,les éléments restantes sont initialisées à zéro.
Exemples :
char voyelles[6] = { 'a' , 'e' , 'i' , 'o' , 'u' , 'y' } ;
int Tableau_entier1[10] = {10 , 5 , 9 , -2 , 011 , 0xaf , 0XBDE}; float Tableau_reel[8] = { 1.5 , 1.5e3 , 0.7E4 };
short A[3] = {12 , 23 , 34 , 45 , 56}; //Erreur !
int Tableau_entier2[] = { 15 , -8 , 027 , 0XABDE } //Tableau de 4 éléments
Pour accéder à un élément du tableau, il suffit de donner le nom du tableau, suivi de l’indice de l’élément entre crochets :
Nom_du_Tableau [indice]
Où indice est une expression entière positive ou nulle. Un indice est toujours positif ou nul ;
L’indice du premier élément du tableau est 0 ;
L’indice du dernier élément du tableau est égal au nombre d’éléments – 1.
short A[5] = {12 , 23 , 34 , 45 , 56};
A[0] donne accès au 1er élément du tableau A
int i = 4; A[i] donne accès au dernier élément du Tableau A int j = 2; A[2*j-1] donne accès au 4ème élément de A
En revanche la plus part des compilateurs C ne font aucun contrôle sur les indices! Ils laissent passer par exemple : A[20] = 6 ; : Accès en dehors du tableau
Remarques
for( i = 0 ; i < taille_tableau ; i++ ) TAB1[i] = TAB2[i];
De manière similaire, on peut déclarer un tableau à plusieurs dimensions :
<Type Simple> Nom_du_Tableau [Nbre_E_1] [Nbre_E_2]…[Nbre_E_N];
Tableaux à deux dimensions (Matrices)
<Type Simple> Nom_du_Tableau [Nombre_ligne] [Nombre_colonne];
short T[3][4] ; //Taille en octet : 3 * 4 * 2 octets = 24 octets La variable tableau T est une matrice. Si on considère la représentation matricielle alors la disposition des éléments de T est :
float A[3][2] = {{-1.05,-1.10} , {86e-5, 87e-5} , {-12.5E4} };
int B[4][4] = { {-1 , 10 , 013 , Oxfe} , {+8 , -077} , {} , {011,-14,0XAD} };
La composante cij de la matrice C, placée à la ième ligne et jème colonne, se calcule de la façon suivante :
Exercice (Extrait du CC version 2008/2009)
Dans cet exercice, on considérera les entiers de l’ensemble [-200,200]. Ecrire un programme C qui :
Ex : T = (14, 5, 17, 8, 11, 4, 8, 6, 4, 7)
Ex :
Enfin affiche le tableau T.
Ajouter un commentaire
Veuillez vous connecter pour ajouter un commentaire.
Pas encore de commentaires.