Aide en C :'(

alex -  
 guyom -
j ai un petit pbe avec malloc!!

j ai une structure:
struct key
{...};

je defini le type key comme etant struct key
typedef struct key key;

j ai 1 var vecteur de 8 key
bob key[8];

je veux allouer a bob[i] la place dont il a besoin
je fais
bob[i]=malloc(sizeof(key));

et la j ai l erreur svte: conversion to non-scalar type requested

voila si vous avez des soluces
merci d avance...
:-)

2 réponses

  1. poupyman Messages postés 62 Statut Membre 15
     
    ben d'abord la déclaration devrait etre de la forme
    key bob[8]; puisque key est le nom de ton type

    ensuite, bob[i] est déjà une structure key, et donc la mémoire est déjà allouée
    de plus, le malloc renvoie un pointeur, donc tu as un probleme de conversion de type (tu essaies d'affecter un pointeur (void *) dans ta structure (de type key) )

    de toute façon, supprime le malloc, il ne sert à rien dans ce cas
    1
  2. guyom
     
    faut caster le retour de la fonction malloc en mettant (key *) devant...
    0