| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> C /C + + Programming >> Content
    Cómo utilizar la función de devolución de llamada en C
    funciones de devolución de llamada son características avanzadas en lenguaje de programación C . Una función de devolución de llamada de ayuda en el aislamiento de la aplicación de una función de biblioteca de la persona que llama de la biblioteca . Al hacer esto , la biblioteca ahora se puede desarrollar de forma independiente y sin ningún conocimiento de la aplicación que se va a llamar a la función de la biblioteca . Esto ayuda en la generación de código compacto . Además , también ayuda en el desarrollo paralelo, como la persona que escribe la biblioteca no tiene que esperar a que la persona que escribe la aplicación , y viceversa. Cosas que necesitará sobre AC como compilador gcc
    editor como emacs o " vi " para escribir el programa
    Ver Más instrucciones
    funciones Callback
    1

    Aprender a escribir código C con punteros a funciones . Punteros de función son como cualquier otro punteros en C, excepto que tienen la dirección de una función . El segmento de código siguiente es un ejemplo sencillo con punteros a funciones .

    # Include

    int printHello () {

    printf ("Hola \\ n " ) ;

    }

    int printHi () {

    printf ( "Hola \\ n"); }


    int main (int argc, char * argv [ ] ) {

    //Declara un puntero a función

    int ( * p) ( void);

    //Apunte el puntero de función a la dirección de una función

    p = printHello ;

    p ();

    //Apunte el puntero de función a la dirección de otra función

    p = printHi ;

    p (); }


    2

    Decida cuál es la función de devolución de llamada es apropiado para el programa . Por ejemplo , el segmento de código siguiente se comparan o bien dos números enteros o dos cadenas de caracteres en función del valor del tercer argumento llamado " opción . " Si se comparan dos números enteros , la función devuelve un valor de 1 si el primer número es mayor que el otro . Si se comparan dos cadenas de caracteres , la función devuelve un valor de 1 si la primera cadena de caracteres tiene más caracteres que el segundo .

    Int callback (void * a , void * b , int opcion ) {

    if ( option == 0 ) {

    int * c = (int *) a;

    int * d = (int *) b;

    regreso ( c * > * d ) ;

    } else if ( option == 1 ) {

    char * c = (char *) a;

    char * d = (char *) b;

    regreso ( strlen ( c ) > strlen ( d )); }


    }
    3

    Llame a la función de devolución de llamada desde el código fuente . Supongamos que un algoritmo de burbuja especie está siendo escrito por un programador. Este algoritmo ordena los valores en una lista en orden decreciente . El siguiente segmento de código llama a la función callback llamada " función ", que va a hacer la comparación.

    BubbleSort int ( int * Valores , int len , int ( * func) (void * a , void * b , int c )) {

    int ( * p ) (void * m, void * n , int p ) ;

    int i, j;

    p = func ; < br >

    for (i = 0 ; i < len; i + + ) {

    for (j = 0 , j < i , j + + ) {

    if ( p ( y valores [ ,"i ], y los valores de [j ] , 0 )) {

    int t = valores [ i] , valores


    [ i ] = valores [j] ;
    valores

    [ ,"j ] = t;


    } } }


    }
    4

    Llame a la función que invoca la devolución de llamada función del programa principal que requiere el resultado de la ordenación . Para el ejemplo de la burbuja - tipo , la función "main " llama a la función bubble -sort con la función de devolución de llamada especificado en el paso 2 .

    Int main (int argc, char * argv [ ] ) {
    < p > int i ;

    int a [ 5 ] = { 4 , 2 , 5 , 9 , 1 } ;

    bubbleSort (a, 5 , devolución de llamada ) ;

    for (i = 0 ; i < 5 ; i + + ) {

    printf ("% d \\ n", a [i ] ) ; }


    }

    Previous :

    next :
      Artículos relacionados
    ·Cómo utilizar un selector de fecha Basic Con GridView 
    ·Cómo criar a un entero a una potencia en C 
    ·Cómo aprender a codificar un microcontrolador en C 
    ·C Función Tipos de valor devueltos 
    ·Cómo cambiar INT a un objeto en C + + 
    ·Cómo agregar Minutes to DateTime 
    ·Cómo utilizar matrices C en C + + 
    ·Cómo llenar una matriz 2D en C 
    ·Cómo utilizar códigos de acceso en una matriz unidime…
    ·Función de llamada de objetos C + + Sintaxis 
      Artículos destacados
    ·La diferencia entre Delete y Truncar en Oracle 
    ·Cómo hacer de programación de base de datos con Visua…
    ·Cómo utilizar Visual Basic para crear e imprimir formu…
    ·Cómo hacer que los mensajes de error de Windows person…
    ·Cómo eliminar un carácter Byte en PHP 
    ·¿Qué es la sintaxis de C + + 
    ·Cómo hacer un Hit Java Mostrador 
    ·Cómo organizar direcciones de correo electrónico Alfa…
    ·Cómo llamar a un archivo DLL de ActiveX de Visual Basi…
    ·Cómo leer texto entre dos etiquetas HTML en Visual Bas…
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com