Question sur un tableau de pointeurs

Fermé
tomtomtom - 23 janv. 2008 à 19:44
 tomtomtom - 23 janv. 2008 à 21:20
Bonsoir a tous !!

Alors, malgré des recherches poussées, je n'ai toujours pas compris comment faire un chose comme ce ci;
c'est un exemple pour me faire comprendre.

char *code[4];
int i;

code[0]=(char*)malloc(6*sizeof(char));
code[1]=(char*)malloc(6*sizeof(char));
code[2]=(char*)malloc(6*sizeof(char));
code[3]=(char*)malloc(6*sizeof(char));

for(i=0;i<4;i++)
{
gets(code[i]);
}

for(i=0;i<4;i++)
{

puts(code[i]);
}


Il s'agit donc d'un tableau de 4 pointeurs pointant vers des chaînes de 5 caractères ( si j'ai compris jusque la ^^)


J'ai deux questions;
1) Je voudrais savoir comment allouer dynamiquement le nombre de pointeur dans ce tableau car il devra varier dans mon programme, genre;

char **code

avec ensuite un malloc, mais alors je ne comprends pas comment, un INT, un CHAR ?, j'ai essayé plusieurs possibilités... rien n'y fait !

2)
Est ce que ceci

code[0]=(char*)malloc(6*sizeof(char));
code[1]=(char*)malloc(6*sizeof(char));
code[2]=(char*)malloc(6*sizeof(char));
code[3]=(char*)malloc(6*sizeof(char));

se suit dans la memoire de l'ordi, car je souhaiterai faire

code[0]=(char*)malloc(4*6*sizeof(char));

Voila, j'ai besoin d'aide la dessus, je remercie deja celui qui saura faire la lumiere... car faut absolument que je comprenne pour un projet...

Tchuss
A voir également:

1 réponse

En gros, est ce que j'ai bien compris donc :

void generateur(int version, int taille,int nbpartie, char **code)
{
int i;

**code=malloc((nbpartie)*sizeof(char));

if(**code==NULL)
{
printf("Impossible d'allouer la memoire !!!");
}

for(i=0;i++;i<(nbpartie))
{
*(code+i)=malloc((taille+1)*sizeof(char));

if(*(code+i)==NULL)
{
printf("Impossible d'allouer la mÈmoire !!!");
}

(*(code+i))[taille+1]='\o'

}

}


je suis pas sur d'avoir tout compris, j'espère avoir un tableau de "nbpartie" pointeurs vers des chaines de "taille" caracteres .

pour que la suite de mon programme remplisse ces cases par des lettres alléatoires....


est-ce bien ça ?
0