Le Wed, 28 Jul 2004 19:55:25 +0200, Stephane Legras-Decussy a écrit :
on a dit un million de fois que sizeof(char) vaut *TOUJOURS* 1 ....
ya pas des masses de trucs toujours vrais, autant les connaitre... :-)
Oui d'ailleurs, pourquoi s'acharner sur ce détail ? On sait bien que sizeof(char) vaut toujours 1, mais n'est-ce pas plus lisible ?
Moi par exemple, quand j'alloue un tableau de char, je préfère toujours faire un truc du genre : bidule = (char*) malloc (longueur_de_bidule * sizeof(char));
C'est peut-être idiot, mais je trouve cela plus lisible.
-- Florent "flure" C. Décrypter l'@ pour répondre Coders don't die, they just JMP without RET !
Le Wed, 28 Jul 2004 19:55:25 +0200, Stephane Legras-Decussy a écrit :
on a dit un million de fois que sizeof(char)
vaut *TOUJOURS* 1 ....
ya pas des masses de trucs toujours vrais, autant les connaitre... :-)
Oui d'ailleurs, pourquoi s'acharner sur ce détail ? On sait bien que
sizeof(char) vaut toujours 1, mais n'est-ce pas plus lisible ?
Moi par exemple, quand j'alloue un tableau de char, je préfère toujours
faire un truc du genre :
bidule = (char*) malloc (longueur_de_bidule * sizeof(char));
C'est peut-être idiot, mais je trouve cela plus lisible.
--
Florent "flure" C.
Décrypter l'@ pour répondre
Coders don't die, they just JMP without RET !
Le Wed, 28 Jul 2004 19:55:25 +0200, Stephane Legras-Decussy a écrit :
on a dit un million de fois que sizeof(char) vaut *TOUJOURS* 1 ....
ya pas des masses de trucs toujours vrais, autant les connaitre... :-)
Oui d'ailleurs, pourquoi s'acharner sur ce détail ? On sait bien que sizeof(char) vaut toujours 1, mais n'est-ce pas plus lisible ?
Moi par exemple, quand j'alloue un tableau de char, je préfère toujours faire un truc du genre : bidule = (char*) malloc (longueur_de_bidule * sizeof(char));
C'est peut-être idiot, mais je trouve cela plus lisible.
-- Florent "flure" C. Décrypter l'@ pour répondre Coders don't die, they just JMP without RET !
Emmanuel Delahaye
Florent 'flure' C. wrote on 29/07/04 :
Moi par exemple, quand j'alloue un tableau de char, je préfère toujours faire un truc du genre : bidule = (char*) malloc (longueur_de_bidule * sizeof(char));
C'est peut-être idiot, mais je trouve cela plus lisible.
-- Emmanuel The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
"C is a sharp tool"
Florent 'flure' C. wrote on 29/07/04 :
Moi par exemple, quand j'alloue un tableau de char, je préfère toujours
faire un truc du genre :
bidule = (char*) malloc (longueur_de_bidule * sizeof(char));
C'est peut-être idiot, mais je trouve cela plus lisible.
Moi par exemple, quand j'alloue un tableau de char, je préfère toujours faire un truc du genre : bidule = (char*) malloc (longueur_de_bidule * sizeof(char));
C'est peut-être idiot, mais je trouve cela plus lisible.
-- Emmanuel The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
"C is a sharp tool"
Marc Boyer
Florent 'flure' C. wrote:
Oui d'ailleurs, pourquoi s'acharner sur ce détail ? On sait bien que sizeof(char) vaut toujours 1, mais n'est-ce pas plus lisible ?
Plus lisible ?
Moi par exemple, quand j'alloue un tableau de char, je préfère toujours faire un truc du genre : bidule = (char*) malloc (longueur_de_bidule * sizeof(char));
Ainsi, si un jour bidule devenait un pointeur sur des choses qui ne sont pas des char (genre unicode 16 bits), ça continue à être juste. Mais * par sizeof(char), non, aucun intérêt.
C'est peut-être idiot, mais je trouve cela plus lisible.
Si tu es le seul lecteur de ton code, tu fais comme tu veux ;-)
Marc Boyer -- La contractualisation de la recherche, c'est me donner de l'argent pour faire ce que je ne sais pas faire, que je fais donc mal, pendant que ce que je sais faire, je le fais sans moyens...
Florent 'flure' C. wrote:
Oui d'ailleurs, pourquoi s'acharner sur ce détail ? On sait bien que
sizeof(char) vaut toujours 1, mais n'est-ce pas plus lisible ?
Plus lisible ?
Moi par exemple, quand j'alloue un tableau de char, je préfère toujours
faire un truc du genre :
bidule = (char*) malloc (longueur_de_bidule * sizeof(char));
Ainsi, si un jour bidule devenait un pointeur sur des
choses qui ne sont pas des char (genre unicode 16 bits),
ça continue à être juste.
Mais * par sizeof(char), non, aucun intérêt.
C'est peut-être idiot, mais je trouve cela plus lisible.
Si tu es le seul lecteur de ton code, tu fais comme tu veux ;-)
Marc Boyer
--
La contractualisation de la recherche, c'est me donner de l'argent pour
faire ce que je ne sais pas faire, que je fais donc mal, pendant que ce
que je sais faire, je le fais sans moyens...
Oui d'ailleurs, pourquoi s'acharner sur ce détail ? On sait bien que sizeof(char) vaut toujours 1, mais n'est-ce pas plus lisible ?
Plus lisible ?
Moi par exemple, quand j'alloue un tableau de char, je préfère toujours faire un truc du genre : bidule = (char*) malloc (longueur_de_bidule * sizeof(char));
Ainsi, si un jour bidule devenait un pointeur sur des choses qui ne sont pas des char (genre unicode 16 bits), ça continue à être juste. Mais * par sizeof(char), non, aucun intérêt.
C'est peut-être idiot, mais je trouve cela plus lisible.
Si tu es le seul lecteur de ton code, tu fais comme tu veux ;-)
Marc Boyer -- La contractualisation de la recherche, c'est me donner de l'argent pour faire ce que je ne sais pas faire, que je fais donc mal, pendant que ce que je sais faire, je le fais sans moyens...
Antoine Leca
En 57QNc.1115$, Jacques Ichane va escriure:
sizeof d'une chaîne de caractères est censé donner quoi ? La même chose que strlen ?
Cela n'a rien à voir avec la question initiale (qui calculait la taille du pointeur vers une chaîne), mais la réponse est le nombre de caractères de la chaîne, plus 1 pour le ' ' final. C'est la taille du tableau (de char) qui contient entièrement la dite chaîne.
C'est différent de strlen(), non seulement parce que cela compte le ' ' final, mais aussi parce que si tu utilises strlen() sur une chaîne avec des