GNT sans publicité, site mobile, fonctionnalitées exclusives...

RE: Le langage de Linus

Le
Marc Lasson
Euh, en feuilletant vaguement mon exemplaire de la norme (C99, hein, soy
ons pas vieux jeu), NULL est juste définit comme
"expands to an implementation-defined null pointer constant;".

Chapitre 7.17 verset 3.

Ce qui en fait est une trés bonne définition puisqu'elle englobe tous
les problèmes sus-cités: C'est un pointeur (donc pas besoin du cast en

C99 pour les printfs) et sa définition est laissée à l'implémentation,

(ca peut donc être autre chose que 0).

Et donc c'est une erreur (et non pas une faute de style) en C99, de
mettre 0 à la place de NULL (et vice-versa !).

Enfin, je suis encore novice en interpretation de saintes écritures,
je me trompe peut-être.

--
Marc, "zbifmqfl urontjr asuacsvracdbpjwragrvokc fk"
pour pouvoir me contacter par mail, il faut décrypter ce message
crypté à l'aide du carré de vigenere (l'alphabet utilisé est l'espace
et les lettres latines).



=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Article poste via Voila News - http://www.news.voila.fr
Le : Fri Jul 9 10:36:42 2004 depuis l'IP : 193.49.225.9 [VIP 668455513781]
Lire les 33 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 7
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Antoine Leca
Le #667586
En cclleq$4f$, Marc Lasson va escriure:
Et donc c'est une erreur (et non pas une faute de style) en C99, de
mettre 0 à la place de NULL (et vice-versa !).


Si c'était vrai, expliques-nous pourquoi on lis dans 6.3.2.3p3

An integer constant expression with the value 0 [...] is called a /null
pointer constant/.



Pour information, dans les crochets il y a

« , or such an expression cast to type void *, »



avec "void *" en Courier gras.

Antoine

Vincent Lefevre
Le #667584
Dans l'article Marc Lasson
Euh, en feuilletant vaguement mon exemplaire de la norme (C99, hein, soy
ons pas vieux jeu), NULL est juste définit comme
"expands to an implementation-defined null pointer constant;".

Chapitre 7.17 verset 3.

Ce qui en fait est une trés bonne définition puisqu'elle englobe tous
les problèmes sus-cités: C'est un pointeur (donc pas besoin du cast en
[snip]


Non. "null pointer constant" != "constant null pointer".
"null pointer constant" peut se traduire par "constante de pointeur nul"
mais cela ne dit pas du tout que c'est un pointeur.

--
Vincent Lefèvre 100% validated (X)HTML - Acorn / RISC OS / ARM, free software, YP17,
Championnat International des Jeux Mathématiques et Logiques, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA

Marc Lasson
Le #667313
Vincent Lefevre wrote:

Non. "null pointer constant" != "constant null pointer".
"null pointer constant" peut se traduire par "constante de pointeur nul"
mais cela ne dit pas du tout que c'est un pointeur.


Oups, mea culpa.
Je me tairais la prochaine fois.

--
Marc.

Marc Lasson
Le #667312
Antoine Leca wrote:

Si c'était vrai, expliques-nous pourquoi on lis dans 6.3.2.3p3


Si ce que je dis est vrai, c'est que ceci est une coquille.
J'espère qu'elle n'est pas restée dans la version finale.

--
Marc.

James Kanze
Le #661560
Marc Lasson
|> Antoine Leca wrote:

|> > Si c'était vrai, expliques-nous pourquoi on lis dans 6.3.2.3p3

|> Si ce que je dis est vrai, c'est que ceci est une coquille. J'espère
|> qu'elle n'est pas restée dans la version finale.

Pas de coquille. Un des caractèristiques de C, c'est un « null pointer
constant » n'est pas forcement un pointeur. Ça a toujours été comme ça.

--
James Kanze
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
Publicité
Suivre les réponses
Poster une réponse
Anonyme