Video: Linguaggio C - Funzioni [parte 1] 2024
Nella programmazione C, tutte le funzioni sono doppiate con un nome, che deve essere univoco; nessuna delle due funzioni può avere lo stesso nome, né una funzione può avere lo stesso nome di una parola chiave.
Il nome è seguito da parentesi, che sono seguite da un insieme di parentesi graffe. Quindi, nella sua struttura più semplice, una funzione è la seguente:
type function () {}
Nella riga precedente, type definisce il valore restituito o generato da una funzione. Le opzioni per tipo includono tutti i tipi di variabili C standard - char, int, float, double - e anche void per funzioni economiche che non restituiscono nulla.
funzione è il nome della funzione. È seguito da una coppia di parentesi, che può, facoltativamente, contenere i valori passati alla funzione. Questi valori sono chiamati argomenti . Non tutte le funzioni presentano argomenti. Quindi vengono le parentesi graffe e tutte le istruzioni che aiutano la funzione a fare la sua cosa.
Le funzioni che restituiscono un valore devono utilizzare la parola chiave return. L'istruzione return termina direttamente la funzione o restituisce un valore all'istruzione che ha chiamato la funzione. Ad esempio:
di ritorno;
Questa istruzione termina una funzione e non trasmette un valore. Qualsiasi istruzione nella funzione dopo il ritorno viene ignorata.
di ritorno ( qualcosa di );
Questa istruzione passa il valore della variabile qualcosa all'istruzione che ha chiamato la funzione. Il qualcosa deve essere dello stesso tipo di variabile della funzione, un int, il float e così via.
Le funzioni che non restituiscono valori sono dichiarate del tipo void. Queste funzioni terminano con l'ultima istruzione contenuta tra parentesi graffe; non è richiesta una dichiarazione di ritorno.
Una cosa più importante! Le funzioni devono essere prototype nel codice. È così che il compilatore capisce la funzione e si accorge che la usi correttamente. Il prototipo descrive il valore restituito e tutti i valori inviati alla funzione. Il prototipo può apparire come una dichiarazione nella parte superiore del codice sorgente. Funzione di base; No Return mostra un esempio alla riga 3.
FUNZIONE DI BASE; NO RITORNO
#include void prompt (); / * function prototype * / int main () {loop int; input char [32]; loop = 0; while (loop ");}
Exercise 1: Usa il codice sorgente da Basic Function; No Return per creare un nuovo project, ex1001. Build ed esegui.
Il programma visualizza un prompt cinque volte, permettendoti di digitare vari comandi. Ovviamente, non succede niente quando scrivi, anche se puoi programmare quelle azioni in seguito, se vuoi.Ecco come funziona questo programma per quanto riguarda la creazione di una funzione:
La riga 3 elenca il prototipo di funzione. È essenzialmente una copia della prima riga della funzione (dalla riga 22), ma termina con un punto e virgola. Può anche essere scritto in questo modo:
void prompt (void);
Poiché la funzione non richiede alcun argomento (gli elementi tra parentesi), è possibile utilizzare anche la parola chiave void.
La riga 13 accede alla funzione. La funzione è chiamata come propria dichiarazione. Non richiede alcun argomento o restituisce alcun valore, e appare su una riga da solo, come mostrato nel listato. Quando il programma incontra quella dichiarazione, l'esecuzione del programma salta alla funzione. Le istruzioni della funzione vengono eseguite e quindi il controllo ritorna alla riga successiva nel codice dopo che la funzione è stata chiamata.
Le righe da 22 a 25 definiscono la funzione stessa. Il tipo di funzione è specificato nella riga 22, seguito dal nome della funzione e quindi dalle parentesi. Come per il prototipo, è possibile specificare il vuoto tra parentesi poiché non viene passato alcun argomento alla funzione.
La sola istruzione della funzione viene mantenuta tra parentesi graffe. La funzione prompt () emette semplicemente un prompt usando la funzione printf (), che fa sembrare che la funzione non sia necessaria, ma molti esempi di funzioni a una riga possono essere trovati in molti programmi.
Esercizio 2 : Modifica il codice sorgente dalla funzione di base; Nessun ritorno in modo che il ciclo while appaia nella sua funzione. (Copia le righe dalla 7 alla 16 in una nuova funzione). Indica la funzione busy () e chiama la funzione main ().
-
C non ha limiti su cosa puoi fare in una funzione. Qualsiasi affermazione che puoi inserire nella funzione main () può andare in qualsiasi funzione. In effetti, main () è semplicemente un'altra funzione del programma, anche se la funzione principale del programma.
-
Quando si dichiara un tipo di funzione int o char, è possibile specificare anche firmato, non firmato, lungo e breve, a seconda dei casi.
-
La funzione main () ha argomenti, quindi non essere tentato di modificare le parentesi vuote e inserire la parola void in questo campo. In altre parole, questo costrutto è sbagliato:
int main (void)
La funzione main () in C ha due argomenti. È possibile evitare di elencarli quando non li userai, mantenendo le parentesi vuote.
-
Altri linguaggi di programmazione possono riferirsi a una funzione come una subroutine o .