Casa Finanza personale Come verificare la posizione di una variabile nella programmazione C - dummies

Come verificare la posizione di una variabile nella programmazione C - dummies

Video: Corso #5 di programmazione C - Gli Array ed esercizi 2025

Video: Corso #5 di programmazione C - Gli Array ed esercizi 2025
Anonim

Nella programmazione C, il tipo e la dimensione di una variabile vengono scoperti per primi dichiarando tale variabile come un tipo specifico, ma anche usando la parola chiave sizeof. La seconda descrizione di una variabile, il suo contenuto, può essere ricavata leggendo il valore della variabile usando la funzione del linguaggio C appropriata.

La terza descrizione di una variabile è la sua posizione nella memoria. Raccogli queste informazioni utilizzando l'operatore & e il segnaposto% p, come mostrato in O Variabile, perché sei?

O VARIABILE, QUINDI ARTE QUI?

#include int main () {char c = 'c'; int i = 123; flottante f = 98. 6; doppia d = 6. 022E23; printf ("Indirizzo di 'c'% pn", & c); printf ("Indirizzo di 'i'% pn", & i); printf ("Indirizzo di 'f'% pn", & f); printf ("Indirizzo di 'd'% pn", & d); return (0);}

Quando l'operatore & esegue il prefisso di una variabile, restituisce un valore che rappresenta l'indirizzo della variabile, o la sua posizione nella memoria. Quel valore è espresso in esadecimale. Per visualizzare quel valore, viene utilizzato il carattere di conversione% p, come mostrato in O Variabile, perché sei?

Esercizio 1 : Digitare il codice sorgente da O Variabile, perché sei? nel tuo editor. Costruisci ed esegui.

I risultati prodotti dal programma generato dall'esercizio 1 sono unici, non solo per ciascun computer ma anche, potenzialmente, per ogni volta che viene eseguito il programma.

Indirizzo di 'c' 0x7fff5fbff8ff Indirizzo di 'i' 0x7fff5fbff8f8 Indirizzo di 'f' 0x7fff5fbff8f4 Indirizzo di 'd' 0x7fff5fbff8e8

Variabile c è memorizzato nella posizione 0x7fff5fbff8ff - questa è la posizione decimale 140, 734, 799, 804, 671. Entrambi i valori sono banali, naturalmente; il computer tiene traccia delle posizioni di memoria, il che va bene per me.

Questa illustrazione mostra come questi indirizzi vengono visualizzati in memoria.

I singoli elementi dell'array hanno anche posizioni di memoria, come mostrato in posizioni di memoria in una matrice sulla linea 10. L'operatore & esegue il prefisso della specifica variabile elemento, tossendo su un indirizzo. Il carattere di conversione% p nella funzione printf () visualizza l'indirizzo.

LOCALIZZAZIONI DI MEMORIA IN UN ARRAY

#include int main () {char hello [] = "Hello!"; int i = 0; while (ciao [i]) {printf ("% c in% pn", ciao [i], e ciao [i]); i ++;} return (0);}

Exercise 2 : Crea un nuovo progetto usando il codice sorgente mostrato in Memory Positions in una matrice. Costruisci ed esegui.

Anche in questo caso, l'uscita della posizione di memoria è unica su ciascun computer.

H a 0x7fff5fbff8f0 e a 0x7fff5fbff8f1 l a 0x7fff5fbff8f2 l a 0x7fff5fbff8f3 o a 0x7fff5fbff8f4!a 0x7fff5fbff8f5

Diversamente dall'esempio dell'esercizio 1, gli indirizzi generati dall'esercizio 2 sono contigui in memoria, un byte dopo l'altro.

Esercizio 3 : Codifica un programma per visualizzare cinque valori in un array int insieme all'indirizzo di memoria di ciascun elemento. È possibile utilizzare le posizioni memoria in una matrice per ispirare, anche se un ciclo for potrebbe essere più semplice da codificare.

  • A proposito, l'operatore di localizzazione e memoria dovrebbe esserti familiare. Viene utilizzato dalla funzione scanf (), che richiede l'indirizzo di una variabile, non la variabile stessa. Questo perché scanf () colloca direttamente un valore in una posizione di memoria. Come? Usando i puntatori, ovviamente!

  • L'operatore & è anche l'operatore AND bit a bit; tuttavia, il compilatore è abbastanza intelligente da dire quando e prefigura una variabile e quando è parte di un'equazione matematica binaria.

Come verificare la posizione di una variabile nella programmazione C - dummies

Scelta dell'editore

HDR Fotografia: Regola le impostazioni in Photomatix Dettagli Enhancer - dummies

HDR Fotografia: Regola le impostazioni in Photomatix Dettagli Enhancer - dummies

Dettagli Enhancer in Photomatix Pro ti consente di toni mappa le tue immagini ad alta gamma dinamica (HDR). Come puoi vedere da questa figura, ci sono un certo numero di controlli. Per fortuna, sono ben organizzati in aree funzionali. Le tre finestre mobili mostrano le impostazioni, l'anteprima dell'immagine e l'istogramma. Forza: controlla la forza di potenziamento del contrasto, sia locale ...

HDR Fotografia - Miscela materiale da fonti alternative - manichini

HDR Fotografia - Miscela materiale da fonti alternative - manichini

Cerca le aree dove potresti aver bisogno per mescolare il materiale da fonti alternative. Ad esempio, se una parte del cielo è saltata fuori, potresti voler sostituire il cielo scoppiato con una versione che è stata mappata in modo diverso in modo che il cielo appaia meglio (ciò che spesso accade è il resto ...

HDR Fotografia: scegli un formato file - dummies

HDR Fotografia: scegli un formato file - dummies

Quando crei un'immagine ad alta gamma dinamica, spesso viene data la possibilità di salvarlo come file HDR per un uso successivo. Se lo si salva come file HDR dipende in parte dalle preferenze e in parte da ciò che si intende fare. Normalmente, salti a destra nella mappatura dei toni, salva il minimo finale ...

Scelta dell'editore

Farmaci Opzioni per gestire la rabbia - manichini

Farmaci Opzioni per gestire la rabbia - manichini

La maggior parte dei programmi di gestione della rabbia non affronta il problema dei farmaci. In parte, probabilmente perché i farmaci non sono in realtà un modo per gestire la tua rabbia. E gli studi sull'efficacia dei farmaci per la rabbia sono stati alquanto incoerenti. Tuttavia, dovresti sapere che i farmaci possono essere un'opzione per alcune persone, specialmente quando altri disturbi emotivi, come ...

Gestione di amici e parenti con intelligenza emotiva - manichini

Gestione di amici e parenti con intelligenza emotiva - manichini

Ecco alcuni modi in cui si praticano tecniche di intelligenza emotiva con amici intimi e i parenti possono aiutarti a disinnescare situazioni difficili ea mantenere relazioni equilibrate e soddisfacenti con i tuoi cari. A partire dal finale le persone a volte interrompono completamente i contatti con parenti e amici e potresti trovarti in una situazione in cui ...

Mini questionario motivazionale - manichini

Mini questionario motivazionale - manichini

Dai un'occhiata al seguente elenco di compiti e decidi se vuoi ottenerne uno. Seleziona le attività che pensi di voler intraprendere: Acquistare una nuova casa Decorare la tua casa Sviluppare uno stile di vita più salutare Ottenere un nuovo lavoro Ottenere una promozione di lavoro Passare gli esami Lavorare per un ...

Scelta dell'editore

Come identificare i trigger di rabbia - dummies

Come identificare i trigger di rabbia - dummies

Conoscere i trigger di rabbia - gli eventi e le situazioni che ti fanno impazzire - è importante perché risponderai in modo più efficace alla tua rabbia quando ti sentirai preparato. Anticipare la possibilità di rabbia aumenta la capacità di esprimerlo in modo più costruttivo. Ecco alcuni trigger di rabbia comuni. Molte persone si sentono ...

Come misurare il tuo stress - manichini

Come misurare il tuo stress - manichini

Riconoscere i sintomi dello stress e quanto spesso si verificano può aiutarti ad affrontare lo stress. Utilizza le due settimane precedenti come periodo di tempo e registra l'occorrenza dei seguenti segni e sintomi fisici ed emotivi di stress. Dopo aver identificato i sintomi dello stress e quanto spesso si verificano, utilizzare la scala di valutazione dello stress per trovare il ...

Come calmare la mente - dummies

Come calmare la mente - dummies

Trovare modi per ridurre i livelli di stress aumenterà la tua felicità. A volte distrarti non è abbastanza per calmare la tua mente. A volte avete bisogno di misure più forti per eliminare, o almeno rallentare, quelle preoccupazioni e preoccupazioni indesiderate e che producono stress. Forse hai una preoccupazione inquietante che ti intrude continuamente nel tuo pensiero e ti impedisce di goderti ...