2016-05-06 7 views
1

Ich habe gerade feste Größen entdeckt, die in stdint.h/cstdint zu finden sind. Einige von ihnen sind "normale" Typen wie int32_t und einige sind wie unsint64_t nicht signiert. Muss ich das Schlüsselwort "unsigned" verwenden, wenn Typen verwendet werden, die vom Design nicht signiert sind?Benötige ich ein 'unsigned' Schlüsselwort mit uintXX_t?

+6

Was passiert, wenn Sie es versuchen? (Ich kenne die Antwort darauf, aber Sie nicht und sollte.) – hvd

+0

So wissen Sie, dass uint64_t in stdint.h ist, haben Sie diese Datei geöffnet? öffne es und du wirst verstehen, dass uint64_t nichts anderes ist als ein typedef zu unsigned long long int .. und wenn du weißt was typef ist hast du eine antwort auf deine frage! – Shrikant

+0

Java Programmierer? Es gibt nichts ungewöhnliches an unsignierten Typen. –

Antwort

6

Sie müssen nicht verwenden unsigned und in der Tat können Sie kann nicht verwenden Sie es.

nur die Grundtypen mit der signed und unsigned verändert (auch long und short) Schlüsselwörter werden.

Aliase der Standardtypen können nicht mit diesen Schlüsselwörtern geändert werden und enthalten die Aliase mit fester Breite.

Wenn Sie unsigned int32_t schreiben, dann wird der Compiler dies mit Typ als Variable analysieren unsigned (die Abkürzung für unsigned int ist) und der Name der Variablen int32_t sein wird. unsigned int32_t variable_name wäre ein Syntaxfehler.