• Miércoles 6 de Noviembre de 2024, 07:28

Autor Tema:  Re: Acerca de Funciones y #define  (Leído 905 veces)

Tangerine

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Acerca de Funciones y #define
« en: Viernes 28 de Marzo de 2003, 23:35 »
0
Que tal bueno, tengo la siguiente duda de la cual estaria muy agradecido que me la aclaren.
Quisiera saber ante todo algun capitulo de funciones, que me sea mas claro para explicarme o si alguien amablemente lo haga, lo vi en dos libros que tengo, como programar en c/c++ y aprender c en 24 horas y no logro comprenderlo en todo.
Mas que nada ya que no le encuentro mucha utilidad en aplicaciones.

Que pr0 tengo en utilizar mis propias funciones. Y estan se pueden almacenar en archivos de extension .h??.

Mi otra consulta es la siguiente, exactamente que funcion cumple el #define??.

Espero no haber sido muy tedioso.

Salu2

desorden

  • Miembro activo
  • **
  • Mensajes: 57
    • Ver Perfil
Acerca de Funciones y #define
« Respuesta #1 en: Sábado 29 de Marzo de 2003, 21:08 »
0
Te voy a poner un ejemplo sencillo, a ver si te convence.

 
Código: Text
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.    int num1, num2, suma;
  6.    num1 = 5;
  7.    num2 = 3;
  8.    suma = num1 + num2;
  9.    printf("%d + %d = %d", num1, num2, suma);
  10.    return 0;
  11. }
  12.  
¿Qué pasa si quieres suma otros dos números?
 
Código: Text
  1. #include <stdio.h>
  2.  
  3. int main(void)
  4. {
  5.    int num1, num2, suma;
  6.    num1 = 5;
  7.    num2 = 3;
  8.    suma = num1 + num2;
  9.    printf("%d + %d = %dn", num1, num2, suma);
  10.    num1 = 10;
  11.    num2 = 11;
  12.    suma = num1 + num2;
  13.    printf("%d + %d = %dn", num1, num2, suma);
  14.    return 0;
  15. }
  16.  
Si quisieras sumar más números tendrías que volver a repetir el código.

 
Código: Text
  1. #include <stdio.h>
  2.  
  3. void suma(int f_num1, int f_num2);
  4.  
  5. int main(void)
  6. {
  7.    suma(3, 5);
  8.    suma(10, 11);
  9.    suma(2, 3);
  10.    return 0;
  11. }
  12.  
  13. void suma(int f_num1, int f_num2)
  14. {
  15.    int suma;
  16.    suma = f_num1 + f_num2;
  17.    printf("%d + %d = %dn", f_num1, f_num2, suma);
  18. }
  19.  
¿Ves la diferencia?

La directiva del preprocesador #define se usa para definir constantes o cualquier sustitución de macro. Por ejemplo:
 
Código: Text
  1. #define NUM1 5
  2.  
Cada vez que en el código aparezca la cadena NUM1, será sustituida por 5.
 
Código: Text
  1. #define INICIO {
  2. #define FIN }
  3.  
Cambias los delimitadores { y } por INICIO y FIN.

También se puede pasar argumentos a los macros, pero creo que si no tienes claro el concepto de función no es el momento de meternos en ésto.:)

Y en los archivos .h -archivos de cabecera- no se debe incluir código. Se usan para definiciones -#define- y para prototipos de funciones.
desorden