Originariamente inviato da matrics21
ma se poi vado a puntare una variabile long mi da errore?
Ehm... Mi sa che non ci siamo capiti.
Se devi puntare a un long, dichiara il puntatore long.
Se punti a un int, dichiara un puntatore int.
Il compilatore non ti dà errore ma solo un warning: stai però molto attento al matching dei tipi di dati fra puntatore e dato puntato se vuoi evitarti spiacevoli inconvenienti.

Ad esempio questo codice:

codice:
  int i;
  long *punt;
  i = 3;
  punt = &i;

  printf ("%d\n", *punt);
Compila con un solo warning con gcc, e se eseguito sembra funzionare, ma eviterei come la peste errori simili.