Il serait défini par l'architecture que vous utilisiez. Sur une puce Zilog z80 (puce intégrée commune), ils seraient d'une taille alors qu'ils pourraient être d'une taille entièrement différente sur un chipset x86. Cependant, les tailles elles-mêmes sont des rapports fixes les uns par rapport aux autres. Essentiellement courts et longs ne sont pas des types mais remplissent les conditions requises pour le type int. Les pouces courts seront d'un ordre de grandeur plus petits que les int (réguliers) et les pouces longs seront d'un ordre de grandeur plus élevés. Supposons donc que votre Int soit limité à 4 octets, le qualificatif court le limite à 4 octets, bien que 2 octets soient également très courants et le qualificatif long le renforce potentiellement à 8 octets, bien qu'il puisse être inférieur à 4 octets. Gardez à l'esprit que cela est également soumis à la longueur des mots, donc sur un système 32 bits, vous obtiendrez un maximum de 4 octets par entier, ce qui rend long identique à un entier normal. Ainsi, Court ≤ Int ≤ Long.
Cependant, si vous l'allongez à nouveau, vous pouvez insérer l'int dans la cellule suivante, vous donnant 8 octets entiers de stockage. Il s'agit de la taille des mots pour les machines 64 bits, de sorte qu'ils n'ont pas à se soucier de telles choses et utilisent simplement une cellule pour les entiers longs, ce qui leur permet d'être un autre ordre au-dessus des entiers standard tandis que les longs entiers deviennent vraiment mignons.
En ce qui concerne le choix, cela se résume à quelque chose que les programmeurs Java, par exemple, n'ont pas à se soucier. "Quelle est votre architecture?" Comme tout dépend de la taille des mots de la mémoire de la machine en question, vous devez le comprendre à l'avance avant de décider lequel utiliser. Vous choisissez ensuite la plus petite taille raisonnable pour économiser autant de mémoire que possible car cette mémoire sera allouée, que vous utilisiez tous les bits ou non. Ainsi, vous économisez où vous le pouvez et choisissez des shorts quand vous le pouvez et des poils quand vous ne le pouvez pas et si vous avez besoin de quelque chose de plus grand que ce que vous donnez régulièrement; vous allongez au besoin jusqu'à ce que vous atteigniez le plafond de mots. Ensuite, vous devez fournir des routines à grand nombre ou les obtenir dans une bibliothèque.
C peut bien être un "assemblage portable" mais vous devez toujours connaître votre matériel.
<stdint.h>