Domanda Puntatori

Stato
Discussione chiusa ad ulteriori risposte.

Ph0enix

Utente Silver
10 Gennaio 2012
179
17
19
96
Ciao a tutti,
stò studiando come funzionano i puntatori. Ho fatto questo semplicissimo programma e vorrei capire se è giusto oppure no quello che ho scritto:
Codice:
#include<stdio.h>

int main(void)
{
    int i=10;
    int *ptr=&i;
    printf("Indirizzo di memoria della variabile i: %d\n",ptr);
    printf("Valore della variabile i: %d\n",*ptr);
    printf("Indirizzo di memoria del puntatore: %d\n",&ptr);
    system("PAUSE");
    return 0;
}

Domanda:
il simbolo * restituisce il valore all'interno del puntatore?
il simbolo & restituisce l'indirizzo di memoria del puntatore?
mentre scrivere, come nel nostro caso, solo ptr restituisce l'indirizzo di memoria della variabili i, questo perchè ptr ha come valore l'indirizzo di memoria di i?

p.s: non riuscirò mai a capirli sti puntatori :(
 
Tutto giusto, solo una pecca: per stampare l'indirizzo di una variabile solitamente si usa %p
Codice:
printf("Indirizzo di memoria della variabile i: %p\n",ptr);
printf("Valore della variabile i: %d\n",*ptr);
printf("Indirizzo di memoria del puntatore: %p\n",&ptr);
 
Stato
Discussione chiusa ad ulteriori risposte.