como o tamanho de uma estrutura varia com diferentes tipos de dados
Eu estou usando o sistema operacional Linux 32 bit e o compilador GCC.
Eu tentei com três tipos diferentes de estrutura. na primeira estrutura eu defini apenas umchar
variável. tamanho dessa estrutura é 1 que está correto.
na segunda estrutura eu defini apenas umint
variável. aqui o tamanho da estrutura está mostrando 4 que também está correto.
mas na terceira estrutura quando eu defini umchar
e umint
isso significa que o tamanho total deve ser 5, mas a saída está mostrando 8. Alguém pode explicar como uma estrutura é atribuída?
typedef struct struct_size_tag
{
char c;
//int i;
}struct_size;
int main()
{
printf("Size of structure:%d\n",sizeof(struct_size));
return 0;
}
Saída: tamanho da estrutura: 1typedef struct struct_size_tag
{
//char c;
int i;
}struct_size;
int main()
{
printf("Size of structure:%d\n",sizeof(struct_size));
return 0;
}
Saída: Tamanho da estrutura: 4typedef struct struct_size_tag
{
char c;
int i;
}struct_size;
int main()
{
printf("Size of structure:%d\n",sizeof(struct_size));
return 0;
}
Saída:
Tamanho da estrutura: 8