Beh, intanto potresti cominciare con il postare quel programma e quella funzione, almeno ne discutiamo su.. cmq i puntatori sono uno dei pilastri fondamentali per un buon programmatore C. Ci si può gestire direttamente la memoria...
Piccolo esempio:
codice:
#include <stdio.h>
#include <stdlib.h>
int main(){
char array[5] = "Ciao"; // dichiaro un array di 5 bytes
char *ptr = array; // ptr ora contiene l'indirizzo della prima componente di "array"
printf("%c\n", *ptr); // stampo la prima componente *(ptr+0), equivalente ad array[0]
printf("%c\n", *(ptr+1)); // stampo il contenuto dell'indirizzo puntato da (ptr+1)
printf("%X\n", (ptr+1)); // stampo l'indirizzo di (ptr+1) (equivalente alla printf sotto)
printf("%X\n", &array[1]); // stampo l'indirizzo di array[1] (equivalente alla printf sopra)
*(ptr+1)=*(ptr+2); // inverto
*(ptr+2)='i'; // e....
printf("%s\n", ptr);
system("pause");
return 0;
}
Risultato:
codice:
C
i
22FF61
22FF61
Caio
Premere un tasto per continuare . . .