Y que es lo que quieres hacer??<br>El manejo de apuntadores es delicado o meticuloso, como quieras verlo.<br>a) Un apuntador debe apuntar a algo cuando lo usas en alguna expresion<br>b) el declararlo no significa que ya esta apuntando a "algo" como lo haces en tu declaracion de la primera funcion (ver nota)<br>
c) el concepto de paso de variables no lo manejas bien, por lo que veo, ya que al aplicar los apuntadores como lo haces<br>no tienes idea de lo que haces.<br><br>Sugerencia: 1. Estudia paso de parametros a funciones, y enfatiza tu comprension sobre las diferencias que hay entre el <br>
"paso de parametros por valor " y "paso de parametros por referencia". Cuando lo domines, reponde las sig. preguntas <br>¿que le llega a la funcion?<br>¿Donde esta el valor que le llega a la funcion?<br>
<br>Luego, pasa a revisar tus conceptos de apuntadores:<br>¿Que valores les puedo asignar a un apuntador?<br>¿Porque usar un apuntador y no una variable simple y llana?<br><br>El algoritmo que presentas no requiere de apuntadores, segun yo, ya que no le pasas referencias a tu funcion sino valores.<br>
<br>Saludos<br><br><div class="gmail_quote">El 23 de noviembre de 2010 15:06, pablo zack <span dir="ltr"><<a href="mailto:sarky68@gmail.com">sarky68@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
hola a todos, pues traigo un problemilla de una compilacion de un programa <br>me lo dejaron de tarea , pero tengo un problema con el cast del puntero, si me podrian dar alguna idea ?<br><br>ya casi corre solaemnte falta el cast del printf<br>
<br>este es el codigo<br><br>/*p Ap 2 Fn Ap Sum cont En*/<br><br>int AlfaFnApEn(int AEn,int BEn)<br>{<br> int *pApEn = (int (*))AEn + BEn;<br> return *pApEn;<br> }<br>int BetaFnApEn(int CEn,int DEn)<br>{<br> int *pApEn = (int (*))CEn + DEn;<br>
return *pApEn;<br> }<br><br>void main(void)<br>{<br> int *(*qApFnApEn)(int , int) = (int *(int,int))AlfaFnApEn;<br> int *(*qApFnApEn)(int , int) = (int *(int,int))BetaFnApEn;<br> printf("%d",*(*pApFnApEn)(15,15));<br>
system("Pause");<br> }<br><br>algoritmo en ascii:<br><br>p---->| |------------>Fn1 ( AEn , BEn )------------> { AEn + BEn }<br> | |------------>Fn2 ( CEn , DEn )------------> { CEn + DEn }<br>
<br>No es urgente , pero si me gustaria corregirlo , a y la notacion pues es propia pero si funciona, solamente es el cast <br>gracias de antemano.<br>
<p></p>
-- <br>
Has recibido este mensaje porque estás suscrito a Grupo "ayuda-linux"<br>
de Grupos de Google.<br>
Si quieres publicar en este grupo, envía un mensaje de correo<br>
electrónico a <a href="mailto:ayuda-linux@googlegroups.com" target="_blank">ayuda-linux@googlegroups.com</a><br>
Para anular la suscripción a este grupo, envía un mensaje a<br>
<a href="mailto:ayuda-linux-unsubscribe@googlegroups.com" target="_blank">ayuda-linux-unsubscribe@googlegroups.com</a><br>
Para obtener más opciones, visita este grupo en<br>
<a href="http://groups.google.es/group/ayuda-linux?hl=es" target="_blank">http://groups.google.es/group/ayuda-linux?hl=es</a>. o <a href="http://www.compunauta.com/ayuda/" target="_blank">http://www.compunauta.com/ayuda/</a></blockquote>
</div><br><br clear="all"><br>-- <br>Ing Marcos R Garcia Trejo<br>(52) 9991-513412<br>
<p></p>
-- <br />
Has recibido este mensaje porque estás suscrito a Grupo "ayuda-linux"<br />
de Grupos de Google.<br />
Si quieres publicar en este grupo, envía un mensaje de correo<br />
electrónico a ayuda-linux@googlegroups.com<br />
Para anular la suscripción a este grupo, envía un mensaje a<br />
ayuda-linux-unsubscribe@googlegroups.com<br />
Para obtener más opciones, visita este grupo en<br />
<a href="http://groups.google.es/group/ayuda-linux?hl=es">http://groups.google.es/group/ayuda-linux?hl=es</a>. o <a href="http://www.compunauta.com/ayuda/">http://www.compunauta.com/ayuda/</a>