Puntatori

Note

I puntatori sono variabili speciali che memorizzano indirizzi di memoria. Ecco la loro struttura base:

/* Dichiarazione di un puntatore */
tipo_dato *nome_puntatore;

/* Inizializzazione di un puntatore */
tipo_dato variabile;
tipo_dato *puntatore = &variabile;

I puntatori in C sono variabili speciali che memorizzano indirizzi di memoria. Ecco un esempio pratico che mostra come utilizzarli senza passaggio parametri:

Example
#include <stdio.h>

int main() {
   /* Dichiarazione di variabili e puntatori */
   int numero = 10;
   int *puntatore = &numero;  /* puntatore che punta a numero */
   
   /* Stampa dei valori */
   printf("Valore di numero: %d\n", numero);
   printf("Indirizzo di numero: %p\n", (void*)&numero);
   printf("Valore puntato da puntatore: %d\n", *puntatore);
   
   /* Modifica del valore attraverso il puntatore */
   *puntatore = 20;
   printf("Valore di numero dopo modifica: %d\n", numero);
   
   /* Utilizzo dell'operatore -> */
   struct Persona {
       char nome[50];
       int eta;
   };
   
   struct Persona persona;
   struct Persona *ptr_persona = &persona;
   
   /* Accesso ai membri della struttura */
   strcpy(ptr_persona->nome, "Mario");
   ptr_persona->eta = 25;
   
   printf("Nome: %s\n", ptr_persona->nome);
   printf("Età: %d\n", ptr_persona->eta);
   
   return 0;
}