Passage d'un tableau à une fonction [c][Resolu] - C - Programmation
Marsh Posté le 18-05-2004 à 14:10:56
voilai j'aimerais ce qu'il faut mettre en parametre quand on appelle la fonction
convert (nb,bits,&binaire);
je suis presque sur du prototype puisque l'on fais passer l'adresse d'un tableau
convert (int dec, int bits, char **binaire)
pour l'affectation dans la fonction que faut il mettre ?
*(binaire+i) = dec %2;
et l'affichage je pense que c'est la meme chose
printf("\n *bianiare[%d] %d",j,*binaire[j]);
pour moi on affecte ce qui est pointer de
ptr => ptr1 => valeur
donc **ptr
enfin bon gcc, mon compilo, n'a pas l'air d'apprecier
Marsh Posté le 18-05-2004 à 14:30:14
http://forum.hardware.fr/forum2.ph [...] =0&subcat=
Marsh Posté le 18-05-2004 à 14:56:28
Non ce n'est pas toi...
Comment dire...
Weed, que doit faire ton programme?
Deja ton malloc est mauvais, ensuite tu confonds char et int dans tout le reste de ton programme (et je suppose que ce n'est pas l'effet voulu)
Marsh Posté le 18-05-2004 à 15:07:03
le but de ma fonction est convertir des nombre en decimal en binaire ...
j'ai utilisé une chaine de caractère pour stocker mes 0 et 1
Code :
|
dec => le nombre decimal
bits => sur combien de bits
binaire => le nombre binaire, c'est une chaine de caractère
ex :
conversion de 7 en binaire
dec = 7
bits = 6 (sur 6 bits)
binaire = 111 000 (je rajoute des 0)
le malloc, il est pas bon ?
je ne l'ai pas bien caster ?
sinon je pense que c'est
binaire = ....
car on on alloue au niveau du pointeur meme et non pas sur ce qui est pointé
Marsh Posté le 18-05-2004 à 15:20:48
oki, j'ai modifié
dans le premier posts,
Code :
|
mais ce qui m'ennuie le plus, c'est
Code :
|
=> dans le main
et l'affectation/affichage des données du tableau dans la fonction :
Code :
|
Bien entendu, j'aimerais bien recuperais la valeur binaire, le passage par adresse est donc obligatoire ...
Marsh Posté le 18-05-2004 à 15:29:43
déjà :
Code :
|
ensuite :
Code :
|
et :
Code :
|
Marsh Posté le 18-05-2004 à 15:30:09
Ca " *(binaire+i) = " tu remplaces par "binaire[i] = "
Ensuite, dans le main, binaire est déja un pointeur. Pas la peine de prendre son addresse.
De plus, pourquoi fais tu un malloc avec un sizeof(int) a l'intérieur? Combien de cases tu veux qu'elle ait, ta zone mémoire?
Marsh Posté le 18-05-2004 à 15:39:48
ca enffet, je me serait pas embeter soit j'aurais creer mis le malloc dans la fonction soit j'aurais declarrement un tableau dans la fonction ....
mais la je ne sais pas à l'avance sur combien de bits. Je souhaite integrer cette fonction dans un programme. J'ai mis 10 pour pas m'enbeter au debut car c'est juste pour programmer une fonction.
De plus comme cette fonction fera parti d'un programme je dois pouvoir recuperer ma variable binaire ....
Code :
|
<=== par exemple
Marsh Posté le 18-05-2004 à 15:43:26
Donc ma question est comment fais ton pour l'affectation/affichage des valeurs d'un tableau, simple dimension, que l'on a transmis à une fonction par adresse ..
affectation/affichage dans la fonction bien sur.
*(binaire+i) = dec %2; ?
Marsh Posté le 18-05-2004 à 15:49:51
On a déjà répondu, corrigé ton truc, je ne vois pas ce que tu cherches de plus ..
Marsh Posté le 18-05-2004 à 14:04:14
bon voilou je sais plus trop comment on fais et je n'ai malheuresement pas vu de post traiter de ca
Message édité par weed le 18-05-2004 à 16:12:21