Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Buen tutorial de punteros

Estas en el tema de Buen tutorial de punteros en el foro de C/C++ en Foros del Web. Llevo un tiempo dandole vueltas al tema de punteros, con diferentes explicaciones, sé lo que son y cómo se usan, pero en la práctica me ...
  #1 (permalink)  
Antiguo 03/01/2007, 05:14
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
Antigüedad: 19 años, 5 meses
Puntos: 0
Buen tutorial de punteros

Llevo un tiempo dandole vueltas al tema de punteros, con diferentes explicaciones, sé lo que son y cómo se usan, pero en la práctica me hago un lío y nunca me salen bien los ejercicios. ¿conocen algun buen tutorial de C?
Gracias de antemano!
  #2 (permalink)  
Antiguo 03/01/2007, 07:08
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Re: Buen tutorial de punteros

Si te haces un lío es porque no tienes los conceptos claros.

http://www.google.es/search?hl=es&q=punteros+C

Todos esos ;)
  #3 (permalink)  
Antiguo 03/01/2007, 07:21
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Buen tutorial de punteros

Gracias... imaino que será por eso :(
  #4 (permalink)  
Antiguo 03/01/2007, 13:05
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Buen tutorial de punteros

Vale, ve mi firma, ahi esta algo interesante sobre punteros.

Saludos
  #5 (permalink)  
Antiguo 05/01/2007, 20:42
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Re: Buen tutorial de punteros

Cita:
Iniciado por marse Ver Mensaje
Gracias... imaino que será por eso :(
No te desanimes...solo revisa los links que te dan y encontraras mas informacion, lee lo que te recomiendan que estos camaradas saben por que te lo dicen.

Cuando leas y aclares tus dudas, vienes y aclaras las nuevas dudas...asi es como te das cuenta que estas aprendiendo. Aclaras nuevas dudas y se te presentan otras nuevas...

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #6 (permalink)  
Antiguo 10/01/2007, 10:48
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Buen tutorial de punteros

Gracias por la ayuda, vosotros haceis que esto de la programación sea más bonito (en clase puede llegar a ser un coñazo), a ver si consigo pillarle el truco!
  #7 (permalink)  
Antiguo 10/01/2007, 12:07
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Re: Buen tutorial de punteros

Cita:
Gracias por la ayuda, vosotros haceis que esto de la programación sea más bonito (en clase puede llegar a ser un coñazo), a ver si consigo pillarle el truco!
El mejor truco es pensar y entender bien las cosas...asi cuando te suejan problemas nuevos y diferentes seras capaz de mezclar todo lo que sabes y generar una solucion a partir de alli...

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:
  #8 (permalink)  
Antiguo 10/01/2007, 20:00
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Buen tutorial de punteros

No se, para mi la mejor forma de aprender fue aventandome aun proyecto largo, grande y dificil ya que generalmente necesitas de todo el potencial del lenguaje y ahi vas aprendiedo la eficiencia de codigos al igual que nuevas tecnicas de programacion.

Saludos
  #9 (permalink)  
Antiguo 11/01/2007, 02:43
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Buen tutorial de punteros

Tengo un ejercicio que es el siguiente código:
#include <stdio.h>
void funcion(int *c, int b, int *a)
{
*c = b + *c;
b = * a + *c;
*a = b * *c;
}
void main(void)
{
int a=1,b=1,c=-2;
funcion(&a,b,&b);
printf("a = %d b = %d c = %d ",a,b,c);
funcion(&c,b,&a);
printf("a = %d b = %d c = %d",a,b,c);
}

y tengo que obtener (sin compilador) lo que imprime. Sé que en el primer caso el resultado es: a=2 b=6 y c=-2 y en el segundo a=24 b=6 y c=4. El tema está en que no sé como llegar a esos resultados (manualmente), comprendo bien de que se tratan los ficheros pero este ejercicio no lo saco. ¿Alguien me puede enseñar un método para sacar las soluciones de este tipo de problemas?
Muchas gracias a todos, os agradezco toda la ayuda. Por cierto muy buenos los tutoriales y web recomendados pero no me solucionan el problema.
  #10 (permalink)  
Antiguo 11/01/2007, 03:55
 
Fecha de Ingreso: febrero-2006
Mensajes: 49
Antigüedad: 18 años, 2 meses
Puntos: 1
Re: Buen tutorial de punteros

Buenas

Yo hace poco empecé con los punteros y voy a tratar de darte una solución al problema que planteas. Si me equivoco por favor haganmelo saber así sigo aprendiendo.

Lo que hice principalemente fue comentarte un poco el programa para que lo entiendas mejor.

Espero sirva

Código:
#include <stdio.h>

void funcion(int *c, int b, int *a)
{
     *c = b + *c;
     b = * a + *c;
     *a = b * *c;
}

int main(void)
{
    int a=1,b=1,c=-2;

    funcion(&a,b,&b);
    
    /*
        *a += b;     como b = 1 -> *a = 2
        b = *b + *a;      b = 3
        *b = b * *a  como b = 3 y *a = 2  ->  *b = 6
        
        Como no se realizan modificaciones en el contenido de c este queda
        con valor -2
        
        No se si ya lo sabías de antes, pero el asterisco adelante de la variable
        es para acceder al contenido de la misma
    */    
    
    printf("a = %d b = %d c = %d ",a,b,c);
    
    /* como %d corresponde a enteros, imprimis el contenido de la variables,
       que como te mostré y vos dijiste son a = 2, b = 6, c = -2 */
    
    funcion(&c,b,&a);
    
    /*
        *c += b;     como b = 6 y *c = -2 -> *c = 4
        b = *a + *c;  como  *a = 2 y *c = 4   ->  b = 6
        *a = b * *c  como b = 6 y *c = 4  ->  *a = 24 
    */ 

    printf("a = %d b = %d c = %d",a,b,c);
    
    /* Mismo concepto que el anterior */

    getchar();

    return 0;
}
PD: Hice alguna mínima modificación en el código para que compile "bien" en el Dev-C++, pero no es nada que cambie el contenido del programa.

Saludos
  #11 (permalink)  
Antiguo 11/01/2007, 05:45
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Buen tutorial de punteros

Creo q ya lo entiendo :D Vamos, quiero decir, ahora entiendo xq me salían valores diferentes, eso es xq al decir funcion(&a,b,&b); y funcion(int *c, int b, int *a) en vez del valor de c cuando es *c realmente va *a, b no varía y en vez de *a va *b. ¿es así? Que ilu ya lo entiendo!!!!
  #12 (permalink)  
Antiguo 11/01/2007, 06:17
Avatar de _Lucifer_  
Fecha de Ingreso: junio-2006
Mensajes: 1.662
Antigüedad: 17 años, 11 meses
Puntos: 28
Re: Buen tutorial de punteros

Cita:
Creo q ya lo entiendo :D Vamos, quiero decir, ahora entiendo xq me salían valores diferentes, eso es xq al decir funcion(&a,b,&b); y funcion(int *c, int b, int *a) en vez del valor de c cuando es *c realmente va *a, b no varía y en vez de *a va *b. ¿es así? Que ilu ya lo entiendo!!!!
Tres tristes tigres tragan trigo en un trigal

Jajajajajaja...

Solo toma en cuenta lo siguiente:
Cuando tengas una funcion de este estilo
Cita:
void funcion(int *c, int b, int *a)
Quiere decir que el primer y el tercer parametro almacenaran direcciones de memoria, es decir son punteros.
Cuando invoque la funcion de esta manera:
Cita:
funcion(&pepe, maria, &jose);
Estas pasando la direccion de pepe y jose que seran almacenadas en *c y *a respectivamente, los nombres de las variables realmente no importan asi que
Cita:
funcion(&a, d, &c);
Es completamente valido y quiere decir que pasas las direcciones de c y a que seran almacenadas en *c y *a respectivamente.

Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba:

Última edición por _Lucifer_; 11/01/2007 a las 06:56
  #13 (permalink)  
Antiguo 11/01/2007, 06:41
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Buen tutorial de punteros

GRACIAS!!!Me acabais de ahorrar un monton de trabajo, llevo semanas dandole vueltas al ejercicio y no entendía xq no me saía, pero ya lo entiendo perfectamente... yujuuuu que emosiooon, muchas gracias, espero aprobar IP1 en febrero! jaja, os lo haré saber, MUXISIMAS GRACIAS!!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:48.