Bonjour,
J'ai une question sur les pointeurs à vous poser (décidément les pointeurs y'a pas plus complexe...erreur de segmentation à chaque fois)
J'aurais voulu dans le main :
- Créer un pointeur (qui va pointer plus tard sur un tableau)
- L'envoyer à ma fonction "generer_tableau"
- La fonction alloue un tableau de 10 cases et l'associe à mon pointeur
- Pouvoir ensuite afficher les valeurs dans le main
Rien de bien sorcier donc.
Je m'y suis pris comme cela :
Dans le main :
Code C/C++ :
int *tableau = NULL;
int nb_elements = 4;
generer_tableau(tableau, nb_elements);
et dans ma fonction generer_tableau :
Code C/C++ :
void generer_tableau_entiers_aleatoires(int *tab, int nb_elements)
{
int i=0;
tab = malloc(nb_elements * sizeof(int));
if (tab == NULL) // On vérifie si l'allocation a fonctionnée ou pas
{
printf("Allocation mémoire refusé, fin du programme\n");
exit(0); // On arrete le programme
}
for (i=0 ; i<nb_elements ; i++)
{
tab[i] = 1;
}
}
Le soucis c'est que après dans le main quand je fais un printf("%d", tableau[3]) j'ai une belle erreur de segmentation...
J'ai fais une erreur de syntaxe???
Merci