Ich denke, es könnte unsigned bedeuten. Aber was genau ist der Unterschied zwischen:Was bedeutet das "U" in c definiert (d. H. #define FOO ((uint32_t) 1000U)))
#define FOO ((uint32_t)1000U))
und
#define FOO ((uint32_t)1000))
Ich denke, es könnte unsigned bedeuten. Aber was genau ist der Unterschied zwischen:Was bedeutet das "U" in c definiert (d. H. #define FOO ((uint32_t) 1000U)))
#define FOO ((uint32_t)1000U))
und
#define FOO ((uint32_t)1000))
Nach this table gibt es eine Konstante vom Typ unsigned int
. Die gleiche Erklärung kann here gefunden werden.
Warum gibt es eine Besetzung, dann? – usr2564301
@RadLexus Betrachte einen Fall, in dem 'sizeof (unsigned) == 2', ohne die Umwandlung in' uint32_t', FOO wäre nur 2 Bytes gewesen, was alle Arten von kleinen Fehlern (besonders in C++) verursachen könnte. Im Allgemeinen ist das "U" überflüssig, wenn Sie die Besetzung machen, aber die Umkehrung ist nicht wahr. – mtijanic
Es scheint, dass Sie mehr über Integer Literal in C lernen müssen. Ich schlage auch vor, den Unterschied zwischen '0x1000u',' 1000u', '0100u' zu betrachten. – user3528438
Um ehrlich zu sein, wäre es interessant und wahrscheinlich nicht sehr fruchtbar, wenn man nicht wüsste, nach "literal" zu suchen, wenn man versucht, dies aus Websuchen abzuleiten. – jdv
@jdv Nicht so. Googeln "u Suffix in C" wäre ausreichend gewesen. – matt