Mes notes sur le C, partie 9 [Les tableaux]

Mes notes sur le C, partie 9 [Les tableaux]

[menu_c]

Un tableau en programmation est une structure de donnée ordonnée, chacune des données est accessible par un indice.

Comme ceci : 

INDICEVALEUR
053
160
25000

 

Par défaut un tableau commence toujours par un indice de 0.

Un tableau d’une taille de 4 aura pour indice : 0, 1, 2, 3

 

Représenter un tableau en C :

#include <stdio.h>

int main(int argc, char *argv[])
{
    int tableau[4];

    tableau[0] = 50;
    tableau[1] = 51;
    tableau[2] = 52;
    tableau[3] = 53;

    printf("Voici la valeur de l'indice 2 : %d", tableau[2]);

    return 0;
}

Les valeurs d’un tableau doivent avoir le même type que le tableau, ici nous avons un tableau de type int, donc chacune des valeurs de ce tableau devra être un int.

 

Voici une autre manière de créer un tableau avec des valeurs :

#include <stdio.h>

int main(int argc, char *argv[])
{
    int tableau[4] = {50, 51, 52, 53};

    printf("Voici la valeur de l'indice 2 : %d", tableau[2]);

    return 0;
}

 

Une astuce à connaitre, vous pouvez initialiser les valeurs de votre tableau à 0 assez facilement comme ceci :

    int tableau[4] = {0};

Chacune des 4 valeurs sera de 0.

 

Si on utilise les boucles, on peut facilement manipuler des tableaux :

#include <stdio.h>

int main(int argc, char *argv[])
{
    int tableau[4] = {5, 3, 2, 10};
    int i;

    for(i = 0; i < 4; i++)
    {
        printf("Voici la valeur de l'indice %d : %d\n",i, tableau[i]);
    }

    return 0;
}

Il faut savoir qu’utiliser un tableau comme une variable, c’est à dire juste “tableau”, permet d’avoir l’adresse du premier élément du tableau (tableau[0]).

Il faut également savoir qu’un tableau enregistre les valeurs à la suite dans la mémoire, c’est à dire que si vous demandez un tableau de 4 int. 

ADRESSEVALEUR
50150
79-150
805
81816
150041616

SI le schéma ci dessus représente ce tableau :

int tableau[3] = {-150, 5, 816};

On pourait dire que

tableau = 79 car tableau contient l’adresse du premier élément.

*tableau = -150 car ce pointeur est sur le premier élément du tableau.

 

L’avantage d’avoir un pointeur sur notre tableau c’est qu’on va pouvoir le passer en argument à d’autres fonctions, on pourrait avoir une fonction écriture et une fonction lecture.

#include <stdio.h>

void affiche(int *tableau, int size)
{
    int i = 0;
    for(i; i < 4; i++)
    {
        printf("Voici la valeur de l'indice %d : %d\n",i, tableau[i]);
    }
}

void ecrire(int *tableau, int indice, int valeur)
{
    tableau[indice] = valeur;
}

int main(int argc, char *argv[])
{
    int tableau[4] = {5, 3, 2, 10};

    affiche(tableau, 4);
    ecrire(tableau, 2, 5000);

    printf("\n");
    affiche(tableau, 4);


    return 0;
}

 

Partager

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *