11
votes

Types de données utilisés dans c

Quelle est la différence entre u_int32_t et uint32_t ?

c

3 commentaires

Ce dernier est défini dans l'en-tête de C99, stdint.h . Le premier n'est pas. De list.freedesktop.org/archives/Release-Wanglers/2004 -August / ... Cela ressemble à ce que les formulaires U_ ont été utilisés dans BSD UNIX? Quoi qu'il en soit, vous devez utiliser uint32_t dans votre code.


@Conrad pourquoi est-ce un commentaire et non une réponse?


@Core XII: haussement d'épaules . Je n'avais jamais entendu parler de u_int32_t avant de répondre, je ne suis pas une source faisant autorité à ce sujet.


4 Réponses :


14
votes

uint32_t est un type standard C99 u_int32_t est utilisé en interne dans certaines implémentations de POSIX.


1 commentaires

Qu'est-ce que POSIX? Ce lien répond à la question qui m'a eu lieu.



1
votes

uint32_t est standard C99, tandis que u_int32_t est utilisé sur certaines plates-formes UNIX.


0 commentaires

0
votes

Le type de variable uint32_t est un type de données entier non signé 32 bits défini conformément à la norme dite C99. Tous les compilateurs ne sont pas conformes à la norme. Et u_int32_t est utilisé pour certaines implémentations internes.


0 commentaires

4
votes

Comme d'autres personnes ont mentionné, uint32_t est un type standard C99.

Quoi qu'il en soit, le tirage à emporter est que si vous écriez que les fichiers de code C portables C ou C pourraient être partagés entre différents appareils / architectures, vous pouvez utiliser STDINT.H.


0 commentaires