Retroceder   Foros del Web > Temas generales de computación > Programación > C/C++

Respuesta
 
Herramientas Desplegado
Antiguo 03-ene-2007, 04:14   #1 (permalink)
marse está en el buen camino
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
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!
marse está desconectado   Responder Citando
Antiguo 03-ene-2007, 06:08   #2 (permalink)
MaxExtreme ha deshabilitado el karma
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
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 ;)
MaxExtreme está desconectado   Responder Citando
Antiguo 03-ene-2007, 06:21   #3 (permalink)
marse está en el buen camino
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
Re: Buen tutorial de punteros

Gracias... imaino que será por eso :(
marse está desconectado   Responder Citando
Antiguo 03-ene-2007, 12:05   #4 (permalink)
Instru está en el buen camino
 
Avatar de Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.442
Re: Buen tutorial de punteros

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

Saludos
__________________
Usa las putas faqs:
http://www.forosdelweb.com/showthread.php?t=264647
Instru está desconectado   Responder Citando
Antiguo 05-ene-2007, 19:42   #5 (permalink)
_Lucifer_ tiene algunos puntos positivos de karma
 
Avatar de _Lucifer_
 
Fecha de Ingreso: junio-2006
Mensajes: 1.588
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:
_Lucifer_ está desconectado   Responder Citando
Antiguo 10-ene-2007, 09:48   #6 (permalink)
marse está en el buen camino
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
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!
marse está desconectado   Responder Citando
Antiguo 10-ene-2007, 11:07   #7 (permalink)
_Lucifer_ tiene algunos puntos positivos de karma
 
Avatar de _Lucifer_
 
Fecha de Ingreso: junio-2006
Mensajes: 1.588
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:
_Lucifer_ está desconectado   Responder Citando
Antiguo 10-ene-2007, 19:00   #8 (permalink)
Instru está en el buen camino
 
Avatar de Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.442
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
__________________
Usa las putas faqs:
http://www.forosdelweb.com/showthread.php?t=264647
Instru está desconectado   Responder Citando
Antiguo 11-ene-2007, 01:43   #9 (permalink)
marse está en el buen camino
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
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.
marse está desconectado   Responder Citando
Antiguo 11-ene-2007, 02:55   #10 (permalink)
PCKing ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2006
Mensajes: 26
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
PCKing está desconectado   Responder Citando
Antiguo 11-ene-2007, 04:45   #11 (permalink)
marse está en el buen camino
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
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!!!!
marse está desconectado   Responder Citando
Antiguo 11-ene-2007, 05:17   #12 (permalink)
_Lucifer_ tiene algunos puntos positivos de karma
 
Avatar de _Lucifer_
 
Fecha de Ingreso: junio-2006
Mensajes: 1.588
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-ene-2007 a las 05:56.
_Lucifer_ está desconectado   Responder Citando
Antiguo 11-ene-2007, 05:41   #13 (permalink)
marse está en el buen camino
 
Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
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!!!!!
marse está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 05:59.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93