Je me pose une petite question =AB simple =BB depuis un moment. Dans le cod=
e suivant :
int i =3D 0;
int *p =3D &i;
i et p d=E9signent des objets, mais s'agit-il pour autant de lvalues ? Dans=
un cas comme dans l'autre, vous serait-il possible de me dire o=F9 l'on pe=
ut trouver la r=E9ponse dans la norme C ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane Legras-Decussy
Le 31/07/2012 11:33, Taurre a écrit :
Bonjour à tous,
Je me pose une petite question « simple » depuis un moment. Dans le code suivant :
int i = 0; int *p =&i;
i et p désignent des objets, mais s'agit-il pour autant de lvalues ? Dans un cas comme dans l'autre, vous serait-il possible de me dire où l'on peut trouver la réponse dans la norme C ?
hum... à ma connaissance une lvalue est tout simplement un "truc" qu'on peut écrire à gauche d'un the term on the left hand side of an assignment.
donc oui i et p sont des lvalue.
Le 31/07/2012 11:33, Taurre a écrit :
Bonjour à tous,
Je me pose une petite question « simple » depuis un moment. Dans le code suivant :
int i = 0;
int *p =&i;
i et p désignent des objets, mais s'agit-il pour autant de lvalues ? Dans un cas
comme dans l'autre, vous serait-il possible de me dire où l'on peut trouver
la réponse dans la norme C ?
hum... à ma connaissance une lvalue est tout simplement un "truc" qu'on
peut écrire à gauche d'un
the term on the left hand side of an assignment.
Je me pose une petite question « simple » depuis un moment. Dans le code suivant :
int i = 0; int *p =&i;
i et p désignent des objets, mais s'agit-il pour autant de lvalues ? Dans un cas comme dans l'autre, vous serait-il possible de me dire où l'on peut trouver la réponse dans la norme C ?
hum... à ma connaissance une lvalue est tout simplement un "truc" qu'on peut écrire à gauche d'un the term on the left hand side of an assignment.
donc oui i et p sont des lvalue.
Jean-Marc Bourguet
Taurre writes:
Bonjour à tous,
Je me pose une petite question « simple » depuis un moment. Dan s le code suivant :
An lvalue is an expression (with an object type other than void) that potentially designates an object.
i dans la premiere ligne et p dans la deuxieme ne sont pas des expressions, donc la question ne se pose pas pour eux. Dans la deuxieme, oui i est une lvalue.
Si maintenant tu parles d'un i et d'un p qui designerait ces definitions, oui ce sont des lvalues. Tout comme *p d'ailleurs (meme si p est NULL, c'est une propriete statique qui ne depend pas des valeurs en presence).
An lvalue is an expression (with an object type other than void) that
potentially designates an object.
i dans la premiere ligne et p dans la deuxieme ne sont pas des
expressions, donc la question ne se pose pas pour eux. Dans la deuxieme,
oui i est une lvalue.
Si maintenant tu parles d'un i et d'un p qui designerait ces
definitions, oui ce sont des lvalues. Tout comme *p d'ailleurs (meme si
p est NULL, c'est une propriete statique qui ne depend pas des valeurs
en presence).
A+
--
Jean-Marc
FAQ de fclc: http://www.levenez.com/lang/c/faq
Site de usenet-fr: http://www.usenet-fr.news.eu.org
An lvalue is an expression (with an object type other than void) that potentially designates an object.
i dans la premiere ligne et p dans la deuxieme ne sont pas des expressions, donc la question ne se pose pas pour eux. Dans la deuxieme, oui i est une lvalue.
Si maintenant tu parles d'un i et d'un p qui designerait ces definitions, oui ce sont des lvalues. Tout comme *p d'ailleurs (meme si p est NULL, c'est une propriete statique qui ne depend pas des valeurs en presence).
Le mardi 31 juillet 2012 15:09:04 UTC+2, Jean-Marc Bourguet a écrit :
6.3.2.1/1
An lvalue is an expression (with an object type other than void) that potentially designates an object.
i dans la premiere ligne et p dans la deuxieme ne sont pas des expressions, donc la question ne se pose pas pour eux. Dans la deuxieme, oui i est une lvalue.
Si maintenant tu parles d'un i et d'un p qui designerait ce definitions, oui ce sont des lvalues. Tout comme *p d'ailleurs (meme si p est NULL, c'est une propriete statique qui ne depend pas des valeurs en presence).
Merci pour cette réponse claire et rapide ; voilà qui répond parfaite ment à mon interrogation :)
Le mardi 31 juillet 2012 15:09:04 UTC+2, Jean-Marc Bourguet a écrit :
6.3.2.1/1
An lvalue is an expression (with an object type other than void) that
potentially designates an object.
i dans la premiere ligne et p dans la deuxieme ne sont pas des
expressions, donc la question ne se pose pas pour eux. Dans la deuxieme,
oui i est une lvalue.
Si maintenant tu parles d'un i et d'un p qui designerait ce
definitions, oui ce sont des lvalues. Tout comme *p d'ailleurs (meme si
p est NULL, c'est une propriete statique qui ne depend pas des valeurs
en presence).
A+
--
Jean-Marc
FAQ de fclc: http://www.levenez.com/lang/c/faq
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Merci pour cette réponse claire et rapide ; voilà qui répond parfaite ment à mon interrogation :)
Le mardi 31 juillet 2012 15:09:04 UTC+2, Jean-Marc Bourguet a écrit :
6.3.2.1/1
An lvalue is an expression (with an object type other than void) that potentially designates an object.
i dans la premiere ligne et p dans la deuxieme ne sont pas des expressions, donc la question ne se pose pas pour eux. Dans la deuxieme, oui i est une lvalue.
Si maintenant tu parles d'un i et d'un p qui designerait ce definitions, oui ce sont des lvalues. Tout comme *p d'ailleurs (meme si p est NULL, c'est une propriete statique qui ne depend pas des valeurs en presence).