Lo siento supongo que de poco te va a ayudar eso.
Es uno de mis temas que me veo no aprenderé aunque entenderé sin ayuda
exterior.
Yo lo tengo así:
Al igual que cualquier otro tipo de datos, los punteros pueden ser el
tipo de datos que recibe una función, así como el tipo de retorno.
Punteros cómo parámetros de una función:
Para definir un puntero como parámetro, tan solo hay que indicar el tipo
de puntero que es, y anteponer el operador de indirección al
identificador del paratro (*). Definiendo los parámetros como "punteros
a", se pasan los parámetros por referencia, en lugar de por valor.
Punteros como tipo retorno de una función:
Tan sólo hay que anteponer al identificador de la función este operador.
También se puede poner tras el tipo de la función (como cuando
definíamos variagbles de tipo puntero).
Un ejemplo con una función que recibe como parámetros y, retorna
punteros:
// Ej. punteros como parámtros y retorno de función.
#include <stdio.h>
#include <stdlib.h>
int *x(int *Num1, int *Num2);
void main () {
int Num1, Num2;
int *Max;
printf("Introduce un número: "); scanf("%i", &Num1);
printf("Introduce otro número: "); scanf("%", &Num2);
Max=x(&Num1,&Num2);
}
int *x(int *Num1,int *Num2) {
int AunxN;
if (*Num2>*Num1)(AuxN=*Num1=*Num2; *Num2=AuxN;}
return(Num1);
}
La función del ejemplo tan solo escoge el número mayor de los dos que
recibe. Siempre retorna un puntero al mismo lugar, puesto que lo que
hacen es intercambiar los contenidos de los punteros (que no su valor).
Los punteros Num1 y Num2 que recibe la función como parámetros, siguen
apuntando al lugar donde apuntaban al comenzar la función. Lo que se
modifica es el contenido, la posición de memoria a la que apuntan. Un
ejemplo de salida de este programa sería:
Introduce un número: 23
Introduce otro número: 61
La función MaxNum, retorna 148E:0FFE, que vale 61.
61 es mayor que 23.
***@Tecnica
No les veo ningún misterio a definición de las funciones, sí a su
interior
Saludos