SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: mauricio2 en Miércoles 19 de Mayo de 2004, 16:23
-
TENGO UAN FUNCION LA CUAL ME VALIDA PALABRAS COMO PUDIERON DARSE CUANTA EN EL POST ANTERIOR,
CHAR *FUNCION(); //defino
//funcion
CHAR *FUNCION(){
ch=getch();
.........
........
}
DE ESTA FORMA VALIDO
print .........
strcpy(dato.nombre,FUNCION());
por que si paso parametros a una funcion normal no necesito el *
y en esta si por que tengo que apuntar esa funcion.
si no la apunto no me funcioana
O PARA QUE NO ME APUNTE SERIA ASI
char FUNCION(char datoingresado);
print .........
strcpy(dato.nombre,FUNCION(char datoingresado));
ESTOY MUY MAL EN ESO? BUENO LA IDEA DEL FORO ES GUIARNOS ALO QUE NO SABEMOS MUCHO NO ;)
UN SALUDO AMIGOS
-
Hola!!
Porque hay una diferencia:
1.- Pasar parametros por valor = pasar parametros q son utiles a tu funcion, pero no quieres usarlos "cambiados" luego de salir de esa funcion
2.- Pasar parametros por referencia = parametros q quieres modificar dentro de la funcion y q sigan modificados a la salida de la misma.
"Toda función recibe como parámetros copias de los datos especificados (pasaje por valor), nunca datos mismos (pasaje por referencia)."
Esto es correcto para pasar por referencia:
void swap (int *a, int *B);
void main (void)
{
int a, b;
swap (&a, &b);
}
/* ********************************* */
/* Función que intercambia los dos enteros */
/* ********************************* */
void swap (int *a, int *B)
{
int c;
c = *a;
*a = *b;
*b = c;
}
Con respecto a lo de q la FUNCION devuelva char o char* es distinto. La primera devuelve un char y la segunda un puntero a caracteres. No entiendo cual es la pregunta.
-
Salieron caritas donde deberia decir b
Salu2!!!!!!