Hola, tengo un problema con las direcciones de memoria en C. Tengo que guardar en un fichero varias direcciones de memoria, de enteros por ejemplo. Esto no me produce ningun problema. El problema lo tengo al intentar leerlos.
Este es el codigo de prueba:
compila bien pero al ejecutar me da violacion del segmento.
Tambien he intentado los mismo pero con arrays de char, y el mismo problema:
Alguien sabe que hago mal, o como se hace?
He buscado en google pero todo lo que encontre es teoria sobre punteros que ya se (creo).
Gracias.
Este es el codigo de prueba:
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main(){
int n;
int *p;
FILE *f;
n=10;
f=fopen("mem.txt","w");
fprintf(f,"%x",&n);
fclose(f);
f=fopen("mem.txt","r");
fscanf(f,"%x",p);
fclose(f);
}
compila bien pero al ejecutar me da violacion del segmento.
Tambien he intentado los mismo pero con arrays de char, y el mismo problema:
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
int main(){
int n;
char mem[20];
int *p;
n=10;
sfprintf(mem,"%x",&n);
sscanf(mem,"%x",p);
}
Alguien sabe que hago mal, o como se hace?
He buscado en google pero todo lo que encontre es teoria sobre punteros que ya se (creo).
Gracias.