istruzione sconosciuta

Salve a tutti
Sono nuovo per Arduino,ma non proprio a digiuno di nozioni informatiche ne elettroniche.
Guardando qualche tutorial in giro sul web , aspettando che mi arrivi il mio primo Arduino UNO ,sono incappato in una riga di codice cosi strutturata

(code[5]==checksum) ? check = true : check = false ;

dove
boolean check;
byte code[6];
byte checksum;

credevo che fosse un forma abbreviata di IF ma ho fatto delle prove con un simulatore e no mi sembra,
qualcuno sa aiutarmi ? grazie .

adcarang:
Salve a tutti
Sono nuovo per Arduino,ma non proprio a digiuno di nozioni informatiche ne elettroniche.
Guardando qualche tutorial in giro sul web , aspettando che mi arrivi il mio primo Arduino UNO ,sono incappato in una riga di codice cosi strutturata

(code[5]==checksum) ? check = true : check = false ;

dove
boolean check;
byte code[6];
byte checksum;

credevo che fosse un forma abbreviata di IF ma ho fatto delle prove con un simulatore e no mi sembra,
qualcuno sa aiutarmi ? grazie .

E' un if condizionale abbreviato.
E' l'equivalente di

if (code[5]==checksum) {
  check = true;
} else {
  check = false;
}

ok grazie o ricontrollato con il simulatore ed è proprio cosi

Si tratta di un operatore ternario --> Switch Case C e operatori ternari: sintassi ed esempi| HTML.it

Quel codice potresti trovarlo anche scritto così:

check = (code[5]==checksum) ? true : false ;

ok PaoloP ho dato un occhiata al tuo link, ed è stato molto utile. ciao

Se proprio vogliamo dirla tutta basterebbe scrivere:

check = (code[5]==checksum);

Nel caso di semplice booleano si, ma l'operatore ternario può essere usato anche per restituire dati più complessi, o addirittura altre condizioni annidiate.

Si certo ma se il caso è questo....