Come determinare la dimensione della struttura in fase di esecuzione in C

November 4

Il linguaggio di programmazione C è stato sviluppato come un linguaggio di programmazione di sistemi, significava per l'uso nella costruzione di applicazioni dei sistemi e sistemi operativi come Unix. A causa di questo ruolo, il linguaggio C lavora a stretto contatto con l'hardware di un computer e di strutture interne, come la memoria. le funzioni C come la "sizeof ()" C programmatori aiutare a determinare l'utilizzo della memoria di diverse variabili e strutture dati nel programma

istruzione

1 Impostare il programma di destinazione. Mentre la funzione "sizeof ()" non richiede biblioteche speciali, è utile essere in grado di formati di output per verificare che la funzione funzioni correttamente. Il programma prevede un ") principale (" funzione di base con la capacità di uscita a schermo. Impostare il programma come il seguente esempio:

includere "stdio.h"

int main () {

return 0;
}

2 Dichiarare una variabile e un tipo di dati. Nel seguente esempio, si dispone di due variabili: "i", che è un numero intero di base, e "x", che rappresenta la struttura di dati "Esempio" che si crea all'inizio della funzione:

int main () {

struct Esempio {
int uno;
int due;
};

struct Esempio x;
int i = 2;

return 0;
}

3 Stampa l'uscita delle dimensioni di ciascuna variabile. Utilizzando il "sizeof ()" la funzione, è possibile stampare le dimensioni di ogni variabile in byte. La dimensione della "i" in byte, come con tutti gli altri numeri interi, è pari a 4. Il formato di "x" in byte, che contiene due numeri interi, è 8:

printf ( "% lu", sizeof (i)); // 4
printf ( "% lu", sizeof (x)); // 8