1 pièce(s) jointe(s)
Erreur avec malloc : impossible d'assigner une valeur de type "void *" à une entité de type "int *"
Bonsoir à tous.
J'ai un soucis avec la fonction malloc, quand j'écris mon code je n'arrive pas à compiler. Voici le message d'erreur. SVP besoin d'aide
Citation:
<impossible d'assigner une valeur de type "void *" à une entité de type "int *">.
Voici le code en question, j'ai mis en rouge la ligne qui me tracasse et le fichier .C se trouve en pièce jointe
Code:
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
| #include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int taille = 0, i = 0;
int *tabValeur = NULL; // Ce pointeur va servir de tableau après l'appel du malloc
// On demande la taille du tableau à l'utilisateur
printf("Quel est la taille du tableau ? ");
scanf("%d", &taille);
if (taille > 0) // Il faut qu'il ait au moins un ami (jele plains un peu sinon :p)
{
tabValeur= malloc(taille * sizeof(int)); // On alloue de la mémoire pour le tableau
if (tabValeur == NULL) // On vérifie si l'allocation a marché ou non
{
exit(0); // On arrête tout si ça n'a pas marché
}
// Stochage des éléments du tableau un à un
for (i = 0 ; i < taille ; i++)
{
printf("Entrer l'element %d ? ", i + 1);
scanf("%d", &tabValeur[i]);
}
//Affichage du tableau
printf("\n\nVoici votre tableau de valeur :\n");
for (i = 0 ; i < taille ; i++)
{
printf("N° %d = %d\n",i+1, tabValeur[i]);
}
//libération de la mémoire
free(tabValeur);
}
return 0;
} |