Cada expresión en C tiene un valor? Cómo acerca de la llamada a la función con nulo como resultado? [duplicar]

0

Pregunta

Como titulado.

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

Qué significa que void es también un tipo de valor de C? O ¿cómo debo entender eso?

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

Mejor respuesta

1

Un vacío de expresión no tiene ningún valor, y de hecho, no puede ser utilizado. Esto se describe en detalle en la sección 6.3.2.2 de la C estándar:

La (inexistente) el valor de una nula expresión (una expresión que se ha tipo de void) no debe ser utilizado de ninguna manera, y de forma implícita o las conversiones explícitas (excepto para void) no se aplicará a dicha expresión. Si una expresión de ningún otro tipo evaluado como un vacío expresión, su valor o designador es descartado. (Un vacío la expresión es evaluada por su los efectos secundarios.)

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

Bueno, sí y no. No, el vacío es un tipo que no tiene ningún valor. Como el nombre lo sugiere, es el que representa la ausencia de tipo en una expresión. Pero sí, debido a que representa la ausencia de un tipo que implica que tiene valor. Y ese valor es simplemente representan nada en un idioma que requiere de la capacidad para distinguir los diferentes tipos de datos.

2021-11-24 03:41:15

¿Quiere usted decir que la declaración de "toda expresión en C tiene un valor" es la correcta?
Becavalier

En otros idiomas

Esta página está en otros idiomas

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