Ciao e Benvenuto.
In questa dimostrazione, voglio fornire una soluzione a un piccolo programma veloce
che utilizzerà l'operatore sizeof per dirci quanto è grande
la nostra memoria per certi tipi di dati.
Visualizziamo i blocchi di codice
e qui faremo passaggi molto familiari con la creazione di un progetto.
E otterremo un nome significativo.
Chiamiamo questo progetto
sizeofexample.
Quindi sizeofexample.
Sarà abbastanza facile, davvero. Utilizzerà solo le
istruzioni di stampa per visualizzare determinati tipi di dati.
Quindi non creerò nemmeno alcuna variabile. Sto solo stampando
alcuni dati.
Quindi qui dirò variabili di tipo
char occupy percent.
E stavo per usare un certo
tipo di dati um. Penso che fosse zf, ma
proviamo a usare zd. Questo è un simpatico
specificatore di formato, è stato aggiunto in C99, credo.
Zd e quindi tutto ciò che dobbiamo fare è usare sizeof.
Sizeof e get sembra una funzione, ma non lo è. E poi dì char per carattere.
E poi lo copierò
e incollerò perché farò cose simili.
Non farò un personaggio, ma farò un corto sul secondo.
Farò un int e un long,
long
long, double o facciamo un float, float
double, proviamo long double.
E poi tutto quello che dobbiamo fare
è modificare la dimensione dei parametri per prendere i tipi corrispondenti.
Useremo anche questo quando parliamo di memoria e puntatori.
Ma questo aiuta solo a capire diversi tipi di dati.
E vedrai che puoi effettivamente passare nello
spazio long long sizeof. Questo è probabilmente il motivo per cui non è una funzione perché non puoi avere spazi nei parametri della funzione.
Ma ricorda che la dimensione di accetta anche variabili, espressioni, ogni sorta
di cose.
E quando lo fa, determina effettivamente la dimensione di in fase di
esecuzione rispetto al tempo di compilazione in long double.
Salva quello, costruisci.
Nessun errore.
Sembra che non capisca il formato z.
È perché potrebbe non essere int. Quindi, invece, cambiamoli in percentuale di utilizzo
per non firmato.
Va bene ora costruiamo.
Va bene, ora non abbiamo avvertimenti. In genere, quando compilo, non vuoi avere alcun avviso.
Gli avvertimenti nel compilatore sono
esattamente ciò che dicono di avvertire. Quindi compilerai ancora correttamente, ma
un avviso di solito indica un problema.
Quindi vuoi ripulire i tuoi avvertimenti. E così ho ricevuto un avviso che diceva che un
identificatore di formato non era consentito per cento z. , quindi l'ho cambiato, ora non ho avvisi.
Cerca di ripulire i tuoi avvisi il più possibile perché il motivo per cui sono avvisi perché possono causare problemi.
E una cosa che ho dimenticato qui che ho appena notato è
che è formattato in modo errato perché non ho aggiunto il mio carattere di escape per la scommessa per i feed di riga.
Quindi è molto difficile da leggere. Quindi aggiungiamo la nostra barra
rovesciata n dopo la nostra percentuale u.
Quindi ora dice che le variabili di tipo char ne occupano una.
Le variabili di tipo short occupano
2 byte, int 4 byte, long 4 byte, long long
8 byte, float 4 byte, double 8 byte, long double 12.
È abbastanza pulito. Lo esegui su molte piattaforme diverse e vedrai che le cose cambiano.
Quindi un programma facile da scrivere, ma che mostra ancora alcuni concetti chiari.
Quindi puoi andare avanti, puoi scaricarlo.
In caso di problemi, provare a eseguirlo su piattaforme diverse, ma questo è
tutto ciò che volevo dimostrare solo un piccolo spettacolo delle diverse dimensioni
dei tipi di dati, quindi passiamo alla sezione successiva. Grazie.