UN funzione in C è un insieme di istruzioni che, quando richiamate, eseguono un compito specifico. È l'elemento base di un programma C che fornisce modularità e riusabilità del codice. All'interno sono racchiuse le istruzioni di programmazione di una funzione { } bretelle , avendo determinati significati ed eseguendo determinate operazioni. Sono anche chiamate subroutine o procedure in altri linguaggi.
In questo articolo impareremo le funzioni, la definizione delle funzioni. dichiarazioni, argomenti e parametri, valori restituiti e molto altro.
Sintassi delle funzioni in C
La sintassi della funzione può essere divisa in 3 aspetti:
- Dichiarazione di funzione Definizione di funzione Chiamate di funzione
Dichiarazioni di funzioni
In una dichiarazione di funzione, dobbiamo fornire il nome della funzione, il suo tipo restituito, il numero e il tipo dei suoi parametri. Una dichiarazione di funzione dice al compilatore che esiste una funzione con il nome specificato definita da qualche altra parte nel programma.
Sintassi
return_type name_of_the_function ( parameter_1 , parameter_2 );>
Il nome del parametro non è obbligatorio durante la dichiarazione delle funzioni. Possiamo anche dichiarare la funzione senza utilizzare il nome delle variabili di dati.
Esempio
int sum (int a , int b ); int sum (int , int);>

Dichiarazione di funzione
Nota: Una funzione in C deve sempre essere dichiarata globalmente prima di chiamarla.
Definizione della funzione
La definizione della funzione è costituita da vere e proprie istruzioni che vengono eseguite quando viene richiamata la funzione (cioè quando il controllo del programma arriva alla funzione).
Una funzione C viene generalmente definita e dichiarata in un unico passaggio perché la definizione della funzione inizia sempre con la dichiarazione della funzione, quindi non è necessario dichiararla esplicitamente. L'esempio seguente serve sia come definizione di funzione che come dichiarazione.
return_type function_name (para1_type para1_name, para2_type para2_name ) { // body of the function }> 
Definizione di funzione in C
Chiamata di funzione
Una chiamata di funzione è un'istruzione che indica al compilatore di eseguire la funzione. Usiamo il nome della funzione e i parametri nella chiamata di funzione.
Nell'esempio seguente, viene chiamata la prima funzione di somma e 10,30 viene passato alla funzione di somma. Dopo la chiamata della funzione viene restituita la somma di a e b e anche il controllo viene restituito alla funzione principale del programma.

Lavoro di funzione in C
Nota: La chiamata alla funzione è necessaria per portare il controllo del programma alla definizione della funzione. Se non vengono chiamate, le istruzioni della funzione non verranno eseguite.
Esempio di funzione C
C
// C program to show function> // call and definition> #include> // Function that takes two parameters> // a and b as inputs and returns> // their sum> int> sum(>int> a,>int> b)> {> >return> a + b;> }> // Driver code> int> main()> {> >// Calling sum function and> >// storing its value in add variable> >int> add = sum(10, 30);> > >printf>(>'Sum is: %d'>, add);> >return> 0;> }> |
>
cpp è uguale
>Produzione
Sum is: 40>
Come abbiamo notato, non abbiamo utilizzato la dichiarazione esplicita della funzione. Abbiamo semplicemente definito e chiamato la funzione.
Tipo di ritorno della funzione
Il tipo restituito dalla funzione indica quale tipo di valore viene restituito dopo che tutta la funzione è stata eseguita. Quando non vogliamo restituire un valore, possiamo utilizzare il tipo di dati void.
Esempio:
int func(parameter_1,parameter_2);>
La funzione precedente restituirà un valore intero dopo aver eseguito le istruzioni all'interno della funzione.
Nota: È possibile restituire un solo valore da una funzione C. Per restituire più valori, dobbiamo utilizzare puntatori o strutture.
Argomenti di funzione
Gli argomenti della funzione (noti anche come parametri della funzione) sono i dati passati a una funzione.
Esempio:
int function_name(int var1, int var2);>
Condizioni dei tipi di reso e argomenti
Nel linguaggio di programmazione C, le funzioni possono essere chiamate con o senza argomenti e potrebbero restituire valori. Possono o meno restituire valori alle funzioni chiamanti.
- Funzione senza argomenti e senza valore restituito
- Funzione senza argomenti e con valore restituito
- Funzione con argomento e senza valore restituito
- Funzione con argomenti e con valore restituito
Per saperne di più sugli argomenti delle funzioni e sui valori restituiti fare riferimento all'articolo – Argomenti delle funzioni e valori restituiti in C .
Come funziona la funzione C?
Il funzionamento della funzione C può essere suddiviso nei seguenti passaggi come indicato di seguito:
- Dichiarare una funzione: Dichiarare una funzione è un passaggio in cui dichiariamo una funzione. Qui definiamo i tipi restituiti e i parametri della funzione.
- Definizione di una funzione: Chiamare la funzione: chiamare la funzione è un passaggio in cui chiamiamo la funzione passando gli argomenti nella funzione. Esecuzione della funzione: L'esecuzione della funzione è un passaggio in cui possiamo eseguire tutte le istruzioni all'interno della funzione per ottenere il risultato finale. Restituzione di un valore: La restituzione di un valore è il passaggio in cui viene restituito il valore calcolato dopo l'esecuzione della funzione. L'uscita dalla funzione è il passaggio finale in cui tutta la memoria allocata alle variabili, alle funzioni, ecc. viene distrutta prima di dare il pieno controllo alla funzione principale.
Tipi di funzioni
In C esistono due tipi di funzioni:
- Funzioni della libreria Funzioni definite dall'utente

Tipi di funzioni in C
1. Funzione di libreria
Una funzione di libreria viene anche chiamata a funzione incorporata . Esiste già un pacchetto del compilatore che contiene queste funzioni, ognuna delle quali ha un significato specifico ed è inclusa nel pacchetto. Le funzioni integrate hanno il vantaggio di essere direttamente utilizzabili senza essere definite, mentre le funzioni definite dall'utente devono essere dichiarate e definite prima di essere utilizzate.
Per esempio:
pow(), sqrt(), strcmp(), strcpy() etc.>
Vantaggi delle funzioni della libreria C
- Le funzioni della libreria C sono facili da usare e ottimizzate per prestazioni migliori.
- Le funzioni della libreria C fanno risparmiare molto tempo, ad esempio il tempo di sviluppo delle funzioni.
- Le funzioni della libreria C sono comode poiché funzionano sempre.
Esempio:
C
// C program to implement> // the above approach> #include> #include> // Driver code> int> main()> {> >double> Number;> >Number = 49;> >// Computing the square root with> >// the help of predefined C> >// library function> >double> squareRoot =>sqrt>(Number);> > >printf>(>'The Square root of %.2lf = %.2lf'>,> >Number, squareRoot);> >return> 0;> }> |
>
>Produzione
The Square root of 49.00 = 7.00>
2. Funzione definita dall'utente
Le funzioni create dal programmatore sono note come funzioni definite dall'utente o funzioni su misura . Le funzioni definite dall'utente possono essere migliorate e modificate in base alle necessità del programmatore. Ogni volta che scriviamo una funzione specifica per maiuscole e minuscole e non definita in alcun file di intestazione, dobbiamo dichiarare e definire le nostre funzioni secondo la sintassi.
Vantaggi delle funzioni definite dall'utente
- Le funzioni variabili possono essere modificate secondo necessità.
- Il codice di queste funzioni è riutilizzabile in altri programmi.
- Queste funzioni sono facili da comprendere, eseguire il debug e mantenere.
Esempio:
C
eliminare il file in Java
// C program to show> // user-defined functions> #include> int> sum(>int> a,>int> b)> {> >return> a + b;> }> // Driver code> int> main()> {> >int> a = 30, b = 40;> > >// function call> >int> res = sum(a, b);> >printf>(>'Sum is: %d'>, res);> >return> 0;> }> |
>
>Produzione
Sum is: 70>
Passaggio di parametri alle funzioni
I dati passati quando viene richiamata la funzione sono noti come parametri effettivi. Nel programma seguente, 10 e 30 sono conosciuti come parametri effettivi. I parametri formali sono la variabile e il tipo di dati menzionati nella dichiarazione della funzione. Nel programma seguente, a e b sono noti come parametri formali.

Passaggio di parametri alle funzioni
Possiamo passare argomenti alla funzione C in due modi:
- Passare per valore
- Passa per riferimento
1. Passa per valore
Il passaggio di parametri in questo metodo copia i valori dai parametri effettivi in parametri di funzione formali. Di conseguenza, eventuali modifiche apportate all’interno delle funzioni non si riflettono nei parametri del chiamante.
Esempio:
C
// C program to show use> // of call by value> #include> void> swap(>int> var1,>int> var2)> {> >int> temp = var1;> >var1 = var2;> >var2 = temp;> }> // Driver code> int> main()> {> >int> var1 = 3, var2 = 2;> >printf>(>'Before swap Value of var1 and var2 is: %d, %d
'>,> >var1, var2);> >swap(var1, var2);> >printf>(>'After swap Value of var1 and var2 is: %d, %d'>,> >var1, var2);> >return> 0;> }> |
>
>
Lettore multimediale vlc scarica youtubeProduzione
Before swap Value of var1 and var2 is: 3, 2 After swap Value of var1 and var2 is: 3, 2>
2. Passa per riferimento
I parametri effettivi del chiamante e i parametri effettivi della funzione si riferiscono alle stesse posizioni, quindi qualsiasi modifica apportata all'interno della funzione si riflette nei parametri effettivi del chiamante.
Esempio:
C
// C program to show use of> // call by Reference> #include> void> swap(>int> *var1,>int> *var2)> {> >int> temp = *var1;> >*var1 = *var2;> >*var2 = temp;> }> // Driver code> int> main()> {> >int> var1 = 3, var2 = 2;> >printf>(>'Before swap Value of var1 and var2 is: %d, %d
'>,> >var1, var2);> >swap(&var1, &var2);> >printf>(>'After swap Value of var1 and var2 is: %d, %d'>,> >var1, var2);> >return> 0;> }> |
>
>Produzione
Before swap Value of var1 and var2 is: 3, 2 After swap Value of var1 and var2 is: 2, 3>
Vantaggi delle funzioni in C
Le funzioni in C sono una funzionalità molto utile di C con molti vantaggi come menzionato di seguito:
- La funzione può ridurre la ripetizione delle stesse istruzioni nel programma.
- La funzione rende leggibile il codice fornendo modularità al nostro programma.
- Non esiste un numero fisso di funzioni di chiamata, puoi chiamarle quante volte vuoi.
- La funzione riduce la dimensione del programma.
- Una volta dichiarata la funzione, puoi semplicemente usarla senza pensare al funzionamento interno della funzione.
Svantaggi delle funzioni in C
I seguenti sono i principali svantaggi delle funzioni in C:
- Impossibile restituire più valori.
- Overhead di memoria e tempo dovuti all'allocazione dello stack frame e al trasferimento del controllo del programma.
Conclusione
In questo articolo, abbiamo discusso i seguenti punti sulla funzione menzionata di seguito:
centrare un'immagine in css
- La funzione è il blocco di codice che può essere riutilizzato quante volte vogliamo all'interno di un programma.
- Per utilizzare una funzione dobbiamo chiamare una funzione.
- La dichiarazione di funzione include nome_funzione, tipo restituito e parametri.
- La definizione di funzione include il corpo della funzione.
- La funzione è di due tipi: funzione definita dall'utente e funzione di libreria.
- In funzione, possiamo secondo due tipi chiamare per valore e chiamare per riferimento in base ai valori passati.
Domande frequenti sulle funzioni in C
Q1. Definire le funzioni.
Risposta:
Le funzioni sono il blocco di codice che viene eseguito ogni volta che vengono chiamate durante l'esecuzione di un programma.
Q2. Cos'è una dichiarazione anticipata?
Risposta:
A volte definiamo la funzione dopo la sua chiamata per fornire una migliore leggibilità. In questi casi, dichiariamo la funzione prima della loro definizione e chiamata. Tali dichiarazioni sono chiamate Dichiarazioni Dirette.
Q3. Qual è la differenza tra dichiarazione e definizione di funzione?
Risposta:
I dati come il nome della funzione, il tipo restituito e il parametro sono inclusi nella dichiarazione della funzione mentre la definizione è il corpo della funzione. Tutti questi dati vengono condivisi con il compilatore in base ai passaggi corrispondenti.
Q4. Qual è la differenza tra argomenti e parametri di funzione?
Risposta:
I parametri di funzione sono i valori dichiarati in una dichiarazione di funzione. Mentre gli argomenti della funzione sono i valori che vengono passati nella funzione durante la chiamata alla funzione.
Esempio:
int func(int x,int y); func(10,20);>Qui int x e int y sono parametri mentre 10 e 20 sono gli argomenti passati alla funzione.
Per saperne di più, fare riferimento a questo articolo – Differenza tra argomenti e parametri in C.
Q5. Possiamo restituire più valori da una funzione C?
Risposta:
No, generalmente non è possibile restituire più valori da una funzione. Ma possiamo usare entrambi puntatori in posizioni di memoria statiche o heap per restituire più valori oppure possiamo inserire dati nel file struttura e quindi restituire la struttura.
Per saperne di più, fai riferimento a questo articolo – Come restituire più valori da una funzione in C o C++?
Q6. Qual è il parametro attuale e formale?
Risposta:
Parametro formale: Le variabili dichiarate nel prototipo della funzione sono note come argomenti o parametri formali.
Parametro effettivo: I valori passati nella funzione sono noti come argomenti o parametri effettivi.