Taille d'un pointeur/malloc

hbhh -  
mamiemando Messages postés 34243 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai un problème!
En C:
J'aimerais trouver la taille de "att":
J'ai:

        int sizeA=5, sizeB=5;
        void *att=malloc(sizeB);
        ...
        att=realloc(att,sizeA+=sizeB);
        ...        
        printf("Taille: %d\n", sizeof(att));


Le "sizeof(att)" me retourne une taille erronnée.
Comment dois-je trouvez la bonne taille?

J'espère avoir été explicite.
merci

1 réponse

mamiemando Messages postés 34243 Date d'inscription   Statut Modérateur Dernière intervention   7 898
 
Il va te retourner la taille d'un pointeur !
Mais de toute façon la taille c'est sizeA + sizeB non ?

Conseil : si tu peux éviter les realloc, essaie de t'en passer car c'est pas terrible si ton programme a des contraintes de performances et si sizeA et sizeB sont "grands". Tu peux essayer un sizeof(*att) (je ne sais pas si ça marche) mais a priori dans sizeof on passe plutôt un type qu'une variable.

Bonne chance
0