Tutto ciò che devi sapere sui puntatori in C



Questo articolo ti introdurrà l'argomento considerato difficile da imparare, ci riferiamo all'argomento dei puntatori in linguaggio C.

Durante l'apprendimento del C, potresti aver incontrato il termine 'Puntatori' e spesso sentito che è un concetto difficile da capire. I puntatori sono utili in varie attività di programmazione e non è così difficile da capire. Questo articolo ti introdurrà ai puntatori in C e ti spiegherà perché non sono così difficili da imparare come sembrano.

Di seguito sono riportati i suggerimenti trattati in questo articolo,





  1. Cos'è un puntatore?
  2. Operatori di riferimento e de-riferimento
  3. Tipi di puntatori
  4. Come usare un puntatore

Cominciamo con la prima parte di questo puntatore nell'articolo C,

Puntatori in C

Cos'è un puntatore?

Un puntatore è una variabile che è in grado di memorizzare l'indirizzo di una variabile. Ora, potresti chiederti a cosa serve? Fondamentalmente, il puntatore punta alla posizione di memoria della variabile di cui viene fornito l'indirizzo. Questa proprietà aiuta nell'allocazione dinamica della memoria, che è un aspetto importante della programmazione.



Comprendiamo la sintassi e diamo un'occhiata a un esempio

java differenza tra hashmap e hashtable
Data_Type * pointer_name

Esempio: int * ptr

Di seguito è riportato il pezzo successivo in questo articolo Puntatori in C.



Operatori di riferimento e de-riferimento

Prima di approfondire il concetto di puntatore, comprendiamo alcune nozioni di base che ci aiuteranno in seguito. Durante l'utilizzo dei puntatori, utilizzerai sicuramente gli operatori '&' e '*'. Ora è il momento di capire il loro significato e il loro utilizzo.

Innanzitutto, comprendiamo l'operatore di riferimento spesso chiamato operatore 'Indirizzo di'. L'utilizzo dell'operatore (e commerciale) con una variabile restituisce una posizione di memoria nota anche come indirizzo della variabile data.

Esempio

operatore di risoluzione dell'ambito c ++
int * ptr int a ptr = & a

L'indirizzo della variabile 'a' è memorizzato nella variabile ptr.

Ora, vediamo l'operatore De-Referencing o 'Value at' che è indicato da un asterisco (*). Aiuta a recuperare il valore dalla posizione di memoria che è memorizzata nella variabile del puntatore

Esempio

int * ptr int a * ptr = & a printf ('Value of a =% dn', * ptr)

Tipi di puntatore L'asterisco * usato durante la dichiarazione di un puntatore non ha lo scopo di de-referenziare ma, dice al compilatore che la variabile data è un puntatore.L'istruzione print precedente stampa il valore presente nella posizione di memoria e questa posizione di memoria è puntata dal puntatore. cioè il valore della variabile 'a'.

Esistono diversi tipi di puntatori che differiscono in base al modo in cui vengono utilizzati in un programma.Esamineremo alcuni dei tipi più comunemente usati.

Puntatore nullo

Un valore null viene assegnato a un puntatore quando non si è sicuri dell'indirizzo da assegnare. Può essere fatto assegnando il valore 'NULL' a un puntatore al momento della dichiarazione. Il valore di questo puntatore è 0.

int * ptr = NULL

Puntatore selvaggio

Un puntatore jolly viene creato non assegnando alcun valore a una variabile del puntatore. Dovrebbe essere usato con attenzione in quanto potrebbe causare risultati imprevisti.

Puntatore penzoloni

Quando un puntatore punta a una variabile eliminata o alla memoria de-allocata, il puntatore è noto come puntatore pendente.Questo puntatore punta a una posizione di memoria inesistente. Diamo un'occhiata alla parte successiva di questo articolo Puntatori in C.

Come usare un puntatore

Ora abbiamo una breve comprensione degli operatori di riferimento e di dereferenziazione. In questa sezione capiremo come utilizzare i puntatori. Fino ad ora abbiamo imparato come dichiarare un puntatore e usarlo per alcune operazioni di base. A questo punto, abbiamo conoscenze sufficienti per usare i puntatori per compiti di programmazione davvero sorprendenti eseguendo operazioni aritmetiche su di essi.

qual è la differenza tra xml e html

Normalmente, queste operazioni vengono eseguite sugli array. Sottraendo a 2 indirizzi possiamo darci la distanza tra 2 locazioni di memoria.

int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * Il nostro array su cui eseguiremo le operazioni * / int * ptr / * Pointer * / ptr = First_array / * Assegna l'indirizzo dell'array alla variabile pointer * / for (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } } 

Produzione

Output - Puntatori in C - EdurekaProva a implementare il codice da solo ed esegui diverse operazioni aritmetiche.Usiamo puntatori con stringhe.

#include #include int main () {char str [] = 'Hello World' / * Creazione di un array * / char * p / * Pointer * / p = str printf ('Stampa di tutti i caratteri nella nostra stringan') p = str for (int i = 0i


Con questo arriviamo alla fine di questo blog su 'Pointers In C'. Spero che tu l'abbia trovato utile e informativo, resta sintonizzato per ulteriori tutorial su argomenti simili. Puoi anche controllare il nostro programma di formazione t
Per ottenere una conoscenza approfondita di jQuery e delle sue varie applicazioni, puoi farlo per formazione online dal vivo con supporto 24 ore su 24, 7 giorni su 7 e accesso a vita.Implementa il codice precedente con stringhe e modifiche diverse. Ora, abbiamo una buona comprensione di tutti i concetti chiave relativi al puntatore.

Hai domande per noi? Menzionateli nella sezione commenti di questo blog e vi risponderemo.