Ogni espressione in C hanno un valore? Come circa la chiamata di funzione con il vuoto come risultato? [duplica]

0

Domanda

Come dal titolo.

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

Significa che void è anche un tipo di valore in C? O come faccio a capirlo?

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

Migliore risposta

1

Un vuoto di espressione non ha alcun valore, e non può essere utilizzato. Questo è descritto in dettaglio nella sezione 6.3.2.2 del C standard:

La (inesistente) del valore di un vuoto di espressione (espressione che ha tipo voidnon deve essere utilizzato in alcun modo, e implicita o le conversioni esplicite (ad eccezione di voidnon potrà essere applicata per tale espressione. Se un'espressione di qualsiasi altro tipo di valutato come un vuoto espressione, il suo valore, la designazione viene scartato. (Vuoto l'espressione è valutata per la sua gli effetti collaterali.)

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

Beh, sì e no. No, nulla, è un tipo che non ha alcun valore. Proprio come suggerisce il nome, che rappresenta l'assenza di digitare un'espressione. Ma sì, perché rappresenta l'assenza di un tipo implica che esso ha valore. E che valore è solo di rappresentare nulla, in una lingua che richiede la capacità di distinguere i diversi tipi di dati.

2021-11-24 03:41:15

Vuoi dire che l'affermazione "ogni espressione in C ha un valore" è corretto?
Becavalier

In altre lingue

Questa pagina è in altre lingue

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