Funzione variadica

Da Wikipedia, l'enciclopedia libera.

Nella programmazione, una funzione variadica è una funzione di arietà variabile, ossia una funzione che può accettare un numero variabile di argomenti. La possibilità di implementare le funzioni variadiche e il supporto per le stesse differisce tra i diversi linguaggi di programmazione.

Esempi di funzioni variadiche[modifica | modifica wikitesto]

Ci sono molte operazione logiche e matematiche che sono definite come funzioni variadiche. Per esempio, la somma di numeri o la concatenazione di stringhe o altre sequenze sono operazioni che possono essere applicate a un numero qualunque di parametri.

Un'altra operazione che è stata implementata come funzione variadica in molti linguaggi è la formattazione dell'output (per esempio, la scrittura di numeri o stringhe di testo a schermo). La funzione printf del linguaggio C e la funzione format del linguaggio Common Lisp sono due esempi di questo tipo. Entrambe accettano un argomento che specifica la formattazione dell'output e un numero variabile di argomenti che forniscono i valori da formattare e stampare.

Problematiche di sicurezza[modifica | modifica wikitesto]

Le funzioni variadiche possono avere dei problemi di sicurezza di tipo. Per esempio la funzione printf (linguaggio C), se usata incautamente, può dare adito a una serie di problemi di sicurezza conosciuti come format string attack. Gli attacchi sono possibili perché permette che la funzione tenti di estrarre dallo stack (pop) più argomenti di quelli permessi, corrompendo lo stack e portando a comportamenti inattesi.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica