[AYUDA] programacion en C
Marcos Garcia Trejo
addsmgt en gmail.com
Mar Nov 23 17:30:34 CST 2010
Y que es lo que quieres hacer??
El manejo de apuntadores es delicado o meticuloso, como quieras verlo.
a) Un apuntador debe apuntar a algo cuando lo usas en alguna expresion
b) el declararlo no significa que ya esta apuntando a "algo" como lo haces
en tu declaracion de la primera funcion (ver nota)
c) el concepto de paso de variables no lo manejas bien, por lo que veo, ya
que al aplicar los apuntadores como lo haces
no tienes idea de lo que haces.
Sugerencia: 1. Estudia paso de parametros a funciones, y enfatiza tu
comprension sobre las diferencias que hay entre el
"paso de parametros por valor " y "paso de parametros por referencia".
Cuando lo domines, reponde las sig. preguntas
¿que le llega a la funcion?
¿Donde esta el valor que le llega a la funcion?
Luego, pasa a revisar tus conceptos de apuntadores:
¿Que valores les puedo asignar a un apuntador?
¿Porque usar un apuntador y no una variable simple y llana?
El algoritmo que presentas no requiere de apuntadores, segun yo, ya que no
le pasas referencias a tu funcion sino valores.
Saludos
El 23 de noviembre de 2010 15:06, pablo zack <sarky68 en gmail.com> escribió:
> hola a todos, pues traigo un problemilla de una compilacion de un programa
> me lo dejaron de tarea , pero tengo un problema con el cast del puntero, si
> me podrian dar alguna idea ?
>
> ya casi corre solaemnte falta el cast del printf
>
> este es el codigo
>
> /*p Ap 2 Fn Ap Sum cont En*/
>
> int AlfaFnApEn(int AEn,int BEn)
> {
> int *pApEn = (int (*))AEn + BEn;
> return *pApEn;
> }
> int BetaFnApEn(int CEn,int DEn)
> {
> int *pApEn = (int (*))CEn + DEn;
> return *pApEn;
> }
>
> void main(void)
> {
> int *(*qApFnApEn)(int , int) = (int *(int,int))AlfaFnApEn;
> int *(*qApFnApEn)(int , int) = (int *(int,int))BetaFnApEn;
> printf("%d",*(*pApFnApEn)(15,15));
> system("Pause");
> }
>
> algoritmo en ascii:
>
> p---->| |------------>Fn1 ( AEn , BEn )------------> { AEn + BEn }
> | |------------>Fn2 ( CEn , DEn )------------> { CEn + DEn }
>
> No es urgente , pero si me gustaria corregirlo , a y la notacion pues es
> propia pero si funciona, solamente es el cast
> gracias de antemano.
>
> --
> Has recibido este mensaje porque estás suscrito a Grupo "ayuda-linux"
> de Grupos de Google.
> Si quieres publicar en este grupo, envía un mensaje de correo
> electrónico a ayuda-linux en googlegroups.com
> Para anular la suscripción a este grupo, envía un mensaje a
> ayuda-linux-unsubscribe en googlegroups.com
> Para obtener más opciones, visita este grupo en
> http://groups.google.es/group/ayuda-linux?hl=es. o
> http://www.compunauta.com/ayuda/
--
Ing Marcos R Garcia Trejo
(52) 9991-513412
--
Has recibido este mensaje porque estás suscrito a Grupo "ayuda-linux"
de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a ayuda-linux en googlegroups.com
Para anular la suscripción a este grupo, envía un mensaje a
ayuda-linux-unsubscribe en googlegroups.com
Para obtener más opciones, visita este grupo en
http://groups.google.es/group/ayuda-linux?hl=es. o http://www.compunauta.com/ayuda/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://lists.srvr.mx/pipermail/ayuda/attachments/20101123/e8806c3c/attachment-0001.html>
Más información sobre la lista de distribución Ayuda