• Viernes 8 de Noviembre de 2024, 23:04

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - fabioscan

Páginas: [1]
1
C/C++ / Duda sobre punteros y ficheros
« en: Jueves 12 de Noviembre de 2009, 23:47 »
Hola a todos, tengo una duda sobre los punteros o apuntadores. Quiero hacer un programa que maneje una lista enlazada de varios nodos y el programa debe ser capaz de salvar esos nodos en una archivo .txt para su uso posterior, mi duda es la siguiente:
si yo guardo la informacion cotenida dentro de cada nodo, el puntero al siguiente nodo se guardara con un valor de direccion especifico pero cuando el programa quiera cargar los datos del archivo .txt esas direcciones seguiran siendo validas? existe la posibilidad de que la direccion a la que apuntan esos punteros ya esten ocupados por alguna otra cosa a la hora de cargar los datos del archivo?

2
C/C++ / Re: Apuntadores
« en: Jueves 12 de Noviembre de 2009, 23:15 »
yo entendi lo siguiente:
struct JOTA
{
  float *a,*b,c; //punteros a vectores que contengan numero de punto flotante y una variable c
}
//si es asi podrias usar este codigo:
main()
{
    JOTA *x;
    int cantidadDeElementos,cantidadDeElementosJota;
    scanf("%d",&cantidadDeElementos);
    scanf("%d",&cantidadDeElementosJota);
    x->a = (float*)malloc(sizeof(float)*cantidadDeElementos);
    x->b = (float*)malloc(sizeof(float)*cantidadDeElementos);
    //ambos vectores ahora tienen capacidad para almacenar 'cantidadDeElementos'  elementos
   //lectura de los vectores
    for(int i=0;i<cantidadDeElementos;++i)
    {
       printf("Ingrese elemento para el vector a : ");scanf("%f",x->a);
       printf("Ingrese elemento para el vector b : ");scanf("%f",x->b);
       //se ingresan 2 flotantes y se asignan a los vectores en las posiciones 'i'
    }
    //la segunda estructura JOTAS me parece un poco innecesaria
    // bien podrias hacer esto si necesitas un vector de JOTA
    JOTA *vj;
     vj = (JOTA*)malloc(sizeof(struct JOTA)*cantidadDeElementosJota);
   //y proceder de la misma forma a la lectura ya que vj es un vector de jotas y cada elemento jota contiene vectores de numeros flotantes
   //ahora el truco es que para escribir en un elemento de vj debes hacerlo de la siguiente manera
   vj[indice]->a[indiceDelVectorA] = datoAGuardar;
  //pero no te olvides de dimensionar cada vector a y b para cada elemento del vector vj
}

Saludos!

Páginas: [1]