Dato questo frammento di codice:
Quote:
#include <stdio.h>
#include <stdlib.h>
struct cifrabinaria
{
unsigned char c;
struct cifrabinaria *next;
};
int main()
{
printf("%u\n",sizeof(unsigned char)+sizeof(struct cifrabinaria *));
printf("%u",sizeof(struct cifrabinaria));
}
|
Perché eseguendolo ottengo sulla prima linea 5 byte (somma delle dimensioni dei singoli componenti della struttura) e sulla seconda linea 8 byte (dimensione della struttura)... non capisco questa differenza di 3 byte.... qualcuno mi può illuminare?
Se no mi consigliate qualche altro modo di memorizzare una stringa di lunghezza variabile di cui non è possibile fissare un limite massimo?