Punteros y ¿Listas?

Iniciado por jfap45, 2 Agosto 2012, 20:41 PM

0 Miembros y 1 Visitante están viendo este tema.

jfap45

Hola, me piden que cree un especie de estructura de datos con punteros; estos punteros almacenaran la dir de memoria de un elemento ya sea de un vector o matriz, el problema es q no tengo ni idea de como hacer eso, dejo un codigo q hizo otra persona pero la verdad no le entiendo:
#include <stdio.h>
#include <stdlib.h>

typedef struct{
int *aptInicio;
int contador;
int dato;
int *refDatoIntSc;
int *refDatoIntSf;
}estructurafc;

estructurafc llenarMatriz(int valor, estructurafc c){
estructurafc nuevaCelda;
if((c.contador > 0)){

nuevaCelda.aptInicio = c.refDatoIntSc;
nuevaCelda.contador = c.contador + 1;
nuevaCelda.dato = valor;
nuevaCelda.refDatoIntSc = NULL;
nuevaCelda.refDatoIntSf = c.refDatoIntSf;

printf("valor de la estructurafc en aptInicio es = %p\n", nuevaCelda.aptInicio);
printf("valor de la estructurafc en contador es = %d\n", nuevaCelda.contador);
printf("valor de la estructurafc en dato es = %d\n", nuevaCelda.dato);
printf("valor de la estructurafc en refDatoIntSc es = %p\n", nuevaCelda.refDatoIntSc);
printf("valor de la estructurafc en refDatoIntSf es = %p\n", nuevaCelda.refDatoIntSf);




}else{///cuando se inicia la primera estructura
nuevaCelda.aptInicio = malloc(sizeof(int));
nuevaCelda.contador = 1;
nuevaCelda.dato = valor;
nuevaCelda.refDatoIntSc = (nuevaCelda.aptInicio + 1);
nuevaCelda.refDatoIntSf = (nuevaCelda.aptInicio + 2);

printf("valor de la estructurafc en aptInicio es = %p\n", nuevaCelda.aptInicio);
printf("valor de la estructurafc en contador es = %d\n", nuevaCelda.contador);
printf("valor de la estructurafc en dato es = %d\n", nuevaCelda.dato);
printf("valor de la estructurafc en refDatoIntSc es = %p\n", nuevaCelda.refDatoIntSc);
printf("valor de la estructurafc en refDatoIntSf es = %p\n", nuevaCelda.refDatoIntSf);

}
return nuevaCelda;
}





int main(void){

int i = 0;

estructurafc prueba;
//llenarMatriz(3, prueba);
llenarMatriz(4, llenarMatriz(3, prueba));

/*for(i = 0; i < 2; i++)
{

}*/

return(0);
}


es como si quisiera usar listas pero eso tambien me confunde!! :s

durasno

Hola! esto es casi lo mismo a decir haganme la tarea... Si no entendes todo un programa entonces no lo mires, ya que no tenes aun todos los conceptos afianzados. El consejo que te puedo dar es que agarres un libro y lo leas(manejo de punteros, estructuras y finalmente listas)

El foro esta para ayudar a resolver dudas, no para explicarte como funciona un programa


Saludos
Ahorrate una pregunta, lee el man

jfap45

si, lo se! Lo estoy estudiando pero soy algo bruto en la programacion, por eso no entiendo el codigo, igual gracias!!

twins

No se entiende bien que es lo que quieres hacer podrias ser mas especifico ya que en una lista hay un sinfin de cosas por hacer