Est-ce que chaque expression en C ont une valeur? Comment au sujet de l'appel de la fonction avec le vide comme un résultat? [dupliquer]

0

La question

Comme intitulé.

void foo() {}
int main(void) {
  foo();  // what is the value of this expression?
}

Veut-il dire qu' void est également un type de valeur dans C? Ou comment dois-je comprendre cela?

c
2021-11-24 03:26:57
2

La meilleure réponse

1

Un vide d'expression n'a pas de valeur, et en fait ne peut pas être utilisé. Ceci est décrit en détail dans la section 6.3.2.2 de la norme C:

L' (inexistante) de la valeur d'un vide d'expression (une expression qui a type void) ne doit pas être utilisé de quelque façon, et de manière implicite ou les conversions explicites (à l'exception de void) ne doit pas être appliqué à une telle expression. Si une expression de n'importe quel autre type est évalué comme un vide expression, sa valeur ou sa désignation est jeté. (Un vide l'expression est évaluée pour sa des effets secondaires.)

2021-11-24 03:40:26
-1

Eh bien, oui et non. Non, le vide est un type qui n'a aucune valeur. Tout comme le nom l'indique, il représente l'absence de type dans une expression. Mais oui, parce que représentant de l'absence d'un type qui implique qu'il a de la valeur. Et que la valeur est simplement ne représentent rien dans une langue qui exige la capacité de distinguer les différents types de données.

2021-11-24 03:41:15

Tu veux dire que l'énoncé "chaque expression en C a une valeur" est-elle correcte?
Becavalier

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................