L'exécution d'une fonction, ou plus généralement d'un sous-programme, est provoquée par son appel qui figure dans le programme principal (ou dans un autre sous-programme). L'appel provoque un débranchement temporaire de l'exécution du programme principal (ou du sous-programme) appelant, qui est interrompu pour laisser s'exécuter le sous-programme appelé. Après la fin de l'exécution du sous-programme appelé, l'exécution du programme appelant reprend là où elle avait été interrompue.