logo

Funzioni C

In c, possiamo dividere un programma di grandi dimensioni negli elementi costitutivi di base noti come funzione. La funzione contiene l'insieme di istruzioni di programmazione racchiuse da {}. Una funzione può essere chiamata più volte per fornire riusabilità e modularità al programma C. In altre parole possiamo dire che l'insieme delle funzioni crea un programma. La funzione è anche conosciuta come procedura O sottoprogramma in altri linguaggi di programmazione.

Vantaggio delle funzioni in C

I vantaggi delle funzioni C sono i seguenti.

  • Utilizzando le funzioni, possiamo evitare di riscrivere la stessa logica/codice ancora e ancora in un programma.
  • Possiamo chiamare le funzioni C un numero qualsiasi di volte in un programma e da qualsiasi punto del programma.
  • Possiamo tenere traccia facilmente di un programma C di grandi dimensioni quando è suddiviso in più funzioni.
  • La riusabilità è il risultato principale delle funzioni C.
  • Tuttavia, la chiamata di funzione rappresenta sempre un sovraccarico in un programma C.

Aspetti funzionali

Ci sono tre aspetti di una funzione C.

    Dichiarazione di funzioneUna funzione deve essere dichiarata globalmente in un programma c per indicare al compilatore il nome della funzione, i parametri della funzione e il tipo restituito.
    Chiamata di funzioneLa funzione può essere chiamata da qualsiasi punto del programma. L'elenco dei parametri non deve differire nel richiamo della funzione e nella dichiarazione della funzione. Dobbiamo passare lo stesso numero di funzioni dichiarate nella dichiarazione della funzione.Definizione della funzioneContiene le istruzioni effettive che devono essere eseguite. È l'aspetto più importante a cui arriva il controllo quando viene chiamata la funzione. Qui dobbiamo notare che solo un valore può essere restituito dalla funzione.
SNAspetti della funzione CSintassi
1Dichiarazione di funzionereturn_type nome_funzione (elenco argomenti);
2Chiamata di funzionenome_funzione (elenco_argomenti)
3Definizione della funzionereturn_type nome_funzione (elenco argomenti) {corpo della funzione;}

La sintassi per creare la funzione in linguaggio c è la seguente:

 return_type function_name(data_type parameter...){ //code to be executed } 

Tipi di funzioni

Nella programmazione C esistono due tipi di funzioni:

    Funzioni della libreria:sono le funzioni dichiarate nei file header C come scanf(), printf(), goes(), puts(), ceil(), floor() ecc.Funzioni definite dall'utente:sono le funzioni che vengono create dal programmatore C, in modo da poterlo utilizzare più volte. Riduce la complessità di un grande programma e ottimizza il codice.
Funzione C

Valore di ritorno

Una funzione C può restituire o meno un valore dalla funzione. Se non devi restituire alcun valore dalla funzione, utilizza void come tipo restituito.

Vediamo un semplice esempio di funzione C che non restituisce alcun valore dalla funzione.

Esempio senza valore restituito:

 void hello(){ printf('hello c'); } 

Se vuoi restituire qualsiasi valore dalla funzione, devi utilizzare qualsiasi tipo di dati come int, long, char, ecc. Il tipo restituito dipende dal valore da restituire dalla funzione.

cpp è uguale

Vediamo un semplice esempio di funzione C che restituisce il valore int dalla funzione.

Esempio con valore restituito:

 int get(){ return 10; } 

Nell'esempio precedente, dobbiamo restituire 10 come valore, quindi il tipo restituito è int. Se desideri restituire un valore in virgola mobile (ad esempio 10.2, 3.1, 54.5, ecc.), devi utilizzare float come tipo restituito del metodo.

 float get(){ return 10.2; } 

Ora devi chiamare la funzione per ottenere il valore della funzione.

Diversi aspetti della chiamata di funzione

Una funzione può accettare o meno qualsiasi argomento. Può restituire o meno alcun valore. Sulla base di questi fatti, esistono quattro diversi aspetti delle chiamate di funzione.

  • funzione senza argomenti e senza valore restituito
  • funzione senza argomenti e con valore restituito
  • funzione con argomenti e senza valore restituito
  • funzione con argomenti e con valore restituito

Esempio di funzione senza argomento e valore restituito

Esempio 1

 #include void printName(); void main () { printf('Hello '); printName(); } void printName() { printf('Javatpoint'); } 

Produzione

eliminare il file in Java
 Hello Javatpoint 

Esempio 2

 #include void sum(); void main() { printf('
Going to calculate the sum of two numbers:'); sum(); } void sum() { int a,b; printf('
Enter two numbers'); scanf('%d %d',&a,&b); printf('The sum is %d',a+b); } 

Produzione

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Esempio di funzione senza argomento e con valore restituito

Esempio 1

 #include int sum(); void main() { int result; printf('
Going to calculate the sum of two numbers:'); result = sum(); printf('%d',result); } int sum() { int a,b; printf('
Enter two numbers'); scanf('%d %d',&a,&b); return a+b; } 

Produzione

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Esempio 2: programma per calcolare l'area del quadrato

Lettore multimediale vlc scarica youtube
 #include int sum(); void main() { printf('Going to calculate the area of the square
'); float area = square(); printf('The area of the square: %f
',area); } int square() { float side; printf('Enter the length of the side in meters: '); scanf('%f',&side); return side * side; } 

Produzione

 Going to calculate the area of the square Enter the length of the side in meters: 10 The area of the square: 100.000000 

Esempio di funzione con argomento e senza valore restituito

Esempio 1

 #include void sum(int, int); void main() { int a,b,result; printf('
Going to calculate the sum of two numbers:'); printf('
Enter two numbers:'); scanf('%d %d',&a,&b); sum(a,b); } void sum(int a, int b) { printf('
The sum is %d',a+b); } 

Produzione

 Going to calculate the sum of two numbers: Enter two numbers 10 24 The sum is 34 

Esempio 2: programma per calcolare la media di cinque numeri.

 #include void average(int, int, int, int, int); void main() { int a,b,c,d,e; printf('
Going to calculate the average of five numbers:'); printf('
Enter five numbers:'); scanf('%d %d %d %d %d',&a,&b,&c,&d,&e); average(a,b,c,d,e); } void average(int a, int b, int c, int d, int e) { float avg; avg = (a+b+c+d+e)/5; printf('The average of given five numbers : %f',avg); } 

Produzione

 Going to calculate the average of five numbers: Enter five numbers:10 20 30 40 50 The average of given five numbers : 30.000000 

Esempio di funzione con argomento e con valore restituito

Esempio 1

 #include int sum(int, int); void main() { int a,b,result; printf('
Going to calculate the sum of two numbers:'); printf('
Enter two numbers:'); scanf('%d %d',&a,&b); result = sum(a,b); printf('
The sum is : %d',result); } int sum(int a, int b) { return a+b; } 

Produzione

 Going to calculate the sum of two numbers: Enter two numbers:10 20 The sum is : 30 

Esempio 2: programma per verificare se un numero è pari o dispari

 #include int even_odd(int); void main() { int n,flag=0; printf('
Going to check whether a number is even or odd'); printf('
Enter the number: '); scanf('%d',&n); flag = even_odd(n); if(flag == 0) { printf('
The number is odd'); } else { printf('
The number is even'); } } int even_odd(int n) { if(n%2 == 0) { return 1; } else { return 0; } } 

Produzione

 Going to check whether a number is even or odd Enter the number: 100 The number is even 

Funzioni della libreria C

Le funzioni di libreria sono funzioni integrate in C raggruppate e posizionate in un luogo comune chiamato libreria. Tali funzioni vengono utilizzate per eseguire alcune operazioni specifiche. Ad esempio, printf è una funzione di libreria utilizzata per stampare sulla console. Le funzioni della libreria sono create dai progettisti dei compilatori. Tutte le funzioni della libreria standard C sono definite all'interno dei diversi file header salvati con l'estensione .H . Dobbiamo includere questi file di intestazione nel nostro programma per utilizzare le funzioni di libreria definite in tali file di intestazione. Ad esempio, per utilizzare le funzioni di libreria come printf/scanf dobbiamo includere stdio.h nel nostro programma che è un file di intestazione che contiene tutte le funzioni di libreria relative all'input/output standard.

L'elenco dei file header maggiormente utilizzati è riportato nella tabella seguente.

SNFile di intestazioneDescrizione
1stdio.hQuesto è un file di intestazione di input/output standard. Contiene tutte le funzioni della libreria riguardanti gli input/output standard.
2conio.hQuesto è un file di intestazione di input/output della console.
3stringa.hContiene tutte le funzioni di libreria relative alle stringhe come goes(), puts(), ecc.
4stdlib.hQuesto file di intestazione contiene tutte le funzioni generali della libreria come malloc(), calloc(), exit(), ecc.
5matematica.hQuesto file di intestazione contiene tutte le funzioni relative alle operazioni matematiche come sqrt(), pow(), ecc.
6ora.hQuesto file di intestazione contiene tutte le funzioni relative al tempo.
7ctype.hQuesto file di intestazione contiene tutte le funzioni di gestione dei caratteri.
8stdarg.hLe funzioni degli argomenti variabili sono definite in questo file di intestazione.
9segnale.hTutte le funzioni di gestione del segnale sono definite in questo file di intestazione.
10setjmp.hQuesto file contiene tutte le funzioni di salto.
undicilocale.hQuesto file contiene funzioni locali.
12errno.hQuesto file contiene funzioni di gestione degli errori.
13affermare.hQuesto file contiene funzioni di diagnostica.

Ulteriori dettagli riguardanti le funzioni C sono forniti di seguito:

Sono disponibili numerose informazioni aggiuntive relative alle funzioni C. Alcuni di essi sono i seguenti:

Programmazione modulare: L'abilità di dividere UN programma enorme in moduli più piccoli e più gestibili è uno dei principali vantaggi dell'utilizzo delle funzioni in C. Ciascuna funzione potrebbe contenere un particolare lavoro o componente di funzionalità, che semplifica e chiarisce la struttura complessiva del programma. Questa strategia modulare migliora il riutilizzo del codice e semplifica la manutenzione e il debug.

centrare un'immagine in css

Riutilizzo del codice: Utilizzando le funzioni, è possibile creare un determinato algoritmo o elemento logico solo una volta e utilizzarlo ripetutamente nel programma. Puoi semplicemente chiamare la funzione ogni volta che devi eseguire il codice, evitando di doverlo duplicare altrove. Non solo accelera lo sviluppo ma garantisce anche coerenza e riduce la possibilità di commettere errori.

Incapsulamento e astrazione: Oscurando le specifiche dell'implementazione delle funzionalità, le funzioni offrono un livello di astrazione. L'interfaccia di un prototipo di funzione può essere definita in a file di intestazione , mentre l'implementazione effettiva può essere fornita in un file sorgente diverso. Altre parti del programma possono utilizzare la funzione senza la necessità di comprendere come è implementata internamente a causa della separazione tra interfaccia e implementazione.

Manutenzione semplice del programma: Un programma può essere compreso e mantenuto più facilmente se è suddiviso in funzioni più piccole. La possibilità di assegnare una responsabilità specifica a ciascuna funzione rende il codice più leggibile e semplifica la risoluzione dei problemi e il debug. Puoi concentrarti sulla funzione necessaria senza influenzare altre parti del programma se viene trovato un errore o è necessaria una modifica.

Collaborazione migliorata: Le funzioni consentono agli sviluppatori che lavorano sullo stesso progetto di collaborare. Il programma può essere suddiviso in funzioni in modo che possano lavorare più membri del team diverse funzioni subito. Gli sviluppatori possono integrare senza problemi il proprio lavoro nelle funzioni se le interfacce sono ben specificate, il che migliora la produttività e promuove uno sviluppo efficace.

Passando il parametro: Puoi inviare argomenti o dati a una funzione in C in modo che possa elaborarli. La funzione può eseguire azioni e generare risultati utilizzando questi input. Puoi aumentare la flessibilità e l'adattabilità delle funzioni passando parametri, il che aumenterà la versatilità complessiva del tuo programma.

Valori restituiti: Le funzioni possono inviare valori al codice che le ha chiamate, consentendo la comunicazione dei risultati di esecuzione della funzione. È possibile utilizzare il valore restituito in altre aree del programma dopo aver eseguito calcoli o manipolazione dei dati all'interno della funzione. Valori restituiti sono particolarmente utili quando è necessario calcolare un risultato o stabilire una condizione in base all'output della funzione.

Conclusione:

In conclusione, le funzioni sono essenziali per la programmazione in C perché forniscono un programma organizzazione, riusabilità e modularità . Gli sviluppatori possono evitare di creare ripetutamente lo stesso codice suddividendo programmi enormi in funzioni più piccole, rendendo il codice più efficace e più semplice da mantenere. In qualsiasi punto del programma è possibile richiamare una funzione, garantendo flessibilità e migliorando il flusso di controllo.

IL dichiarazione, chiamata , E definizione di funzioni sono solo alcune delle loro numerose caratteristiche. Il compilatore viene informato dalla dichiarazione della funzione del file nome, argomenti , E tipo di restituzione . È possibile chiamare una funzione con o senza parametri e con o senza a valore di ritorno . I programmatori costruiscono funzioni definite dall'utente per migliorare la leggibilità e l'ottimizzazione del loro codice, mentre la libreria C funziona come printf() E scanf() fornire funzionalità preimpostate.

Nel complesso, le funzioni sono elementi fondamentali nella programmazione C, poiché offrono vantaggi tra cui una maggiore organizzazione, il riutilizzo del codice e il semplice monitoraggio di programmi di grandi dimensioni. Le chiamate di funzione potrebbero aggiungere un po' di sovraccarico, ma i loro vantaggi superano il minimo impatto sulle prestazioni. I programmatori possono scrivere programmi C efficaci e modulari comprendendo e utilizzando le funzioni.