Si une lvalue apparaît dans une situation dans laquelle le compilateur attend une valeur, le compilateur convertit la valeur lvalue en valeur rvalue.Lorsque la conversion exacte de la valeur L en valeur R se produit en C
Une valeur de type T peut être convertie en valeur si T n'est pas une fonction ou un type de tableau. Le type de e après conversion sera T.
quelqu'un peut-il dire quand le compilateur attend Rvalue .ou quelles sont les règles exaclty telles qu'une expression réductrice à Lvalue est convertie en Rvalue. en C quand nous essayons de déclarer tableau de taille variable
int b=8;
int a[2*b]; //compiler gives error that constant expression reqd. what is this constant expression (is it rvalue expression)
mais quand je fais
int a[10];
a[2*b]=89;
ne donne aucune erreur plz quelqu'un quand Lvalue à Elaborer rvalue conversion se passe-t ?? ma confusion est que, dans un indice de tableau dans le premier cas, il lValue à rvalue convesion ne se passe pas (au moment de la déclaration) mais dans le deuxième cas, il arrive
[Variable length arrays] (http: //en.wikipedia.org/wiki/Variable-length_array) (comme dans votre premier exemple) est autorisé, peut-être utilisez-vous un ancien compilateur? –
Quel compilateur utilisez-vous, car gcc supporte VLA même en C90 en tant qu'extension. – 0decimal0