Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    funzioni come parametro di funzioni in C

    Salve a tutti,
    volevo sapere che differenza c'è in C tra passare una funzione(tramite puntatori alla funzione) come parametro di un' altra funzione o semplicemente richiamarla in quest' ultima.
    grazie anticipatamente

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    Spesso è una caratteristica sfruttata in funzioni di libreria che necessitano di essere "generiche" e di modificare il loro comportamento a seconda delle esigenze del programmatore utente. La C standard library ad esempio ha la funzione qsort() che come ultimo parametro ha un puntatore a una funzione di "confronto", questo perché un array da ordinare non è detto che sia di tipi numerici primitivi (int, float e simili) che possono essere confrontati con i semplici operatori di confronto relazionali (< e >), ma potrebbe essere un array di strutture definite dal programmatore utente della funzione di libreria, e pertanto dovrebbe essere lui a fornire alla qsort() una funzione valida per confrontare gli elementi dell'array in input al fine di ordinarli.

    Altri esempi (ma ve ne sono tanti) possono essere le funzioni POSIX signal() o pthread_create() che ricevono puntatori a funzione rispettivamente per installare un gestore di segnali diverso da quello di default e per associare la funzione da eseguire al thread creato.
    every day above ground is a good one

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.