1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| #include <stdio.h>
#include <stdlib.h>
#define SIZE 3 // nombre de chaines manipulees (suffisant ici)
int display_content(char *tableau[], int nb)
{
int i;
printf("contenu tableau : ");
for (i=0;i<nb;i++)
printf("(%d,%p,\"%s\") ",i,tableau[i],tableau[i]);
printf("\n");
}
int main(int argc,char *argv[])
{
char *tableau[SIZE];
char *buffer;
int nb = 0;
int i;
for (i=0;i<SIZE;i++)
{
// allocation, remplissage et affichage du buffer (mon "s")
buffer = malloc(20);
sprintf(buffer,"iter %d",i);
printf("iteration %d buffer %p contient \"%s\"\n",i,buffer,buffer);
// analogue a la fonction ajouter
tableau[i] = buffer; nb++;
// affichage du contenu du tableau
display_content(tableau,nb);
}
// desallocation !
for (i=0;i<SIZE;i++)
free(tableau[i]);
} |
Partager