Salut, salut.
J'ai un petit problème avec les structures en C.
Tout d'abord, voici le petit code sur lequel je travaille :
#include <stdio.h>
#include <stdlib.h>
typedef struct {
short foo1; // 2 octets
long foo2; // 4 octets
} MaStructure;
int main() {
printf("%d octets.\n", sizeof(MaStructure));
return EXIT_SUCCESS;
}
Normalement, le programme devrait m'afficher "6 octets." ; il m'en affiche 8. Comment cela se fait-il que la taille de la structure soit considérée à 8 octets ? Comment faire pour qu'elle en fasse 6 tout bonnement ?
Pour information, j'ai compilé la source avec CodeBlocks sous WinXP, ainsi que GCC sous Ubuntu 8.10 (je ne sais pas la version de son noyau dans son exactitude, mais je ne sais pas si c'est intéressant, ici).