cissine
Messages postés16Date d'inscriptiondimanche 26 avril 2009StatutMembreDernière intervention21 mai 2010
-
25 avril 2009 à 18:22
cissine
Messages postés16Date d'inscriptiondimanche 26 avril 2009StatutMembreDernière intervention21 mai 2010
-
29 avril 2009 à 13:41
1. Les déclarations de fonctions se passent du libellé de l'identifiant de leurs arguments : pourquoi ?
2. fscanf(f,"%d %d %d %d",&haut,&droit,&bas,&gauche)!=4){
Pourquoi les variables "haut", "bas", "droit" et "gauche" sont elles de type int alors que leurs valeurs se codent sur un char ?
Pourquoi "&" devant "entete_bmp" et pas devant "chemin" ?
4. image[numero]=(unsigned char *) malloc (header->taille_image);
Pourquoi "malloc (sizeof(unsigned char)*header->taille_image))" n'est il pas nécessaire ?
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 25 avril 2009 à 22:57
<ol>
<li>
Sais pas.
</li>
<li>
fscanf te récupère un int à partir du contenu d'un fichier. C'est à toi de convertir ensuite.</li>
<li>Chemin est déjà un pointeur. Quand tu fais char* Chemin = "c:\\abcd.bmp", tu crées un pointeur contenant l'adresse de la chaine "c:\\abcd.bmp" (qui se trouve dans le segment BSS, si je me plante pas ).</li>
<li>
sizeof(unsigned char) = 1. A la compilation, ta ligne deviendra malloc(1*header->taille_image)).</li>
</ol>
cissine
Messages postés16Date d'inscriptiondimanche 26 avril 2009StatutMembreDernière intervention21 mai 2010 27 avril 2009 à 13:34
Merci pour tes réponse ça m'a beaucoup aidé,
je veux aussi savoir si on a char * tab[];
chaine = tab[1] pointe sur la deuxième chaine de caractère de chaine ?
si tu fais P=tab; //alors P point sur le premier caractère de tab soit 'B'
si tu fais P=tab[1]; //alors P pointe sur le deuxième caractère 'o'
A+
____________________________________________________________________________
Mon site internet :
http://ImAnalyse.free.fr