Comprensione variabili (valore / riferimento / puntato) in C

di il
1 risposte

Comprensione variabili (valore / riferimento / puntato) in C

Buongiorno,

ho iniziato da pochissimo lo studio del linguaggio C; il mio docente usa un programma similare all'interfaccia DOS su piattaforma Linux. Mi ha consigliato l'uso di CyGwin (su piattaforma Windows) ma alla fine ho optato per DevC++ ver. 4.9.x. Premesso ciò, questi i miei dubbi:
- posso definire variabili "elementari" (es. interi, bool ecc..) o variabili puntatori (cioè variabili alle quali antepongo il simbolo asterisco). Nel primo caso ad esempio posso definire un intero come "int miointero" al quale posso associare un valore pari a 5 con "miointero = 5". Questa variabile può essere passata come valore (es. miafunzione(miointero)) oppure come riferimento, inteso come riferimento alla locazione di memoria che contiene il valore di 5 (es. miafunzione (&miointero)). E' corretto quanto esposto fino a qui??
- una variabile puntatore può assumere TRE valori (es. int *puntatore):
1) - se considero "puntatore" ottengo il valore della variabile del puntatore e cioè l'indirizzo di
memoria a cui punta;
2) - se considero "&puntatore" ottengo l'indirizzo di memoria ove risiede il puntatore;
3) - se considero "*puntatore" ottengo il contenuto della locazione di memoria o valore intero
E' corretto questo?
In alternativa potete darmi un vostro parere in merito? Grazie a tutti.

Jumpier

1 Risposte

  • Re: Comprensione variabili (valore / riferimento / puntato) in C

    La questione dei 3 valori della variabile puntatore non ha senso ...

    Una variabile puntatore ha un valore che rappresenta un indirizzo. E basta.

    A partire da quella variabile puoi ottenere il valore puntato ma tantissime altre informazioni; ma queste informazioni non sono valori possibili della variabile.
Devi accedere o registrarti per scrivere nel forum
1 risposte