Problème avec memset

Résolu
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 - 28 avril 2009 à 20:10
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 30 avril 2009 à 09:24
Bonjour, je dispose d'une fonction qui alloue de la mémoire à un tableau puis le remplie de 0 grâce à memset(), mais le problème est que se remplissage ne fonctionne pas:

void fx( unsigned long **nb ) {

*nb = (unsigned long*) malloc( sizeof(unsigned long) * (unsigned long) 256 );

memset( *nb, 0, sizeof(*nb) );

int i;

for( i=0 ; i!=256 ; ++i ) { printf( "%ld", (*nb)[i] ); (*nb)[i] = 0; }

}

unsigned long *nb;

fx( &nb );

Le printf affiche: 04156696000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000

D'où provient le problème, que faire ?

Merci d'avance et à bientôt !
A voir également:

4 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
29 avril 2009 à 09:13
salut,

memset( *nb, 0, sizeof(*nb) );

*nb est un pointeur donc sizeof(*nb) te retourne la taille du pointeur, donc la taille de l'adresse donc 4 (Windows 32et64bit, Linux 32bit) ou 8 si tu es sous Linux 64bit (si je fais pas d'erreur)
3
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
28 avril 2009 à 20:57
Salut,

memset(*nb,0, 256*sizeof(unsigned long) );

http://liveplayaz.com

je suis heureux de faire partie d'une grande famille ...!
0
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
29 avril 2009 à 16:18
En fait j'ai une variable:

unsigned long **nb;

que je souhaite transmettre à une fonction pour qu'elle le modifie mais ne sait pas comment faire !
0
fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
30 avril 2009 à 09:24
bah ton principe est bon, tu as juste fait une erreur sur la notion de pointeur.
0
Rejoignez-nous