Gracias de antemano!
|
|
#1 (permalink) |
![]() Fecha de Ingreso: diciembre-2004
Ubicación: Sevilla
Mensajes: 72
|
Buen tutorial de punteros
Gracias de antemano! |
|
|
|
|
|
#2 (permalink) |
![]() 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 ;) |
|
|
|
|
|
#5 (permalink) |
![]() Fecha de Ingreso: junio-2006
Mensajes: 1.588
|
Re: Buen tutorial de punteros
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: |
|
|
|
|
|
#7 (permalink) |
![]() Fecha de Ingreso: junio-2006
Mensajes: 1.588
|
Re: Buen tutorial de punteros
Cita:
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...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!
Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba: |
|
|
|
|
|
#8 (permalink) |
![]() 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 |
|
|
|
|
|
#9 (permalink) |
![]() 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. |
|
|
|
|
|
#10 (permalink) |
![]() 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:
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.#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;
}
Saludos ![]() |
|
|
|
|
|
#11 (permalink) |
![]() 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!!!!
|
|
|
|
|
|
#12 (permalink) |
![]() Fecha de Ingreso: junio-2006
Mensajes: 1.588
|
Re: Buen tutorial de punteros
Cita:
Tres tristes tigres tragan trigo en un trigalCreo 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!!!!
Jajajajajaja... Solo toma en cuenta lo siguiente: Cuando tengas una funcion de este estilo
Cita:
Quiere decir que el primer y el tercer parametro almacenaran direcciones de memoria, es decir son punteros.void funcion(int *c, int b, int *a)
Cuando invoque la funcion de esta manera:
Cita:
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 quefuncion(&pepe, maria, &jose);
Cita:
Es completamente valido y quiere decir que pasas las direcciones de c y a que seran almacenadas en *c y *a respectivamente.funcion(&a, d, &c);
Saludos
__________________
Si crees que no tiene sentido, etonces probablemente lo tenga... :arriba: Última edición por _Lucifer_; 11-ene-2007 a las 05:56. |
|
|
|
|
|
#13 (permalink) |
![]() 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!!!!!
|
|
|
|