Diversi tipi di funzione

Diversi tipi di funzione
Una funzione è un codice per realizzare una determinata operazione. Ha un nome per la sua identificazione. Qui non siamo interessati a definire la funzione. Qui discutiamo di diversi tipi di funzione e della loro applicazione.

Modi per definire una funzione

Ci sono quattro tipi di programmi disponibili in lingua C. Sono:

1. Non prende nulla, non restituisce nulla.

2. Prende qualcosa, non restituisce nulla.

3. Non prende nulla, restituisce qualcosa.

4. Prende qualcosa, restituisce qualcosa.

1. Non prende nulla, non restituisce nulla

Esempio di programmazione 1

#includere
void main ()

void aggiungi (vuoto);
aggiungere ();

void add ()

int a, b, c;
printf ("immettere due numeri");
scanf (" %d %d", & a, & b);
c = a + b;
printf ("somma è = %d", c);

Produzione

Spiegazione

Ogni volta che vogliamo compilare un programma, il compilatore deve conoscere il significato di ogni parola scritta in un programma che significa che deve dichiarare ogni funzione o variabile nel programma. Per questa funzione, è richiesta una dichiarazione. Nella Dichiarazione della funzione, scriviamo 3 cose

  1. Tipo di ritorno
  2. Nome di FM
  3. Discussione

Ma nel caso di una funzione predefinita, una dichiarazione è scritta nel file di intestazione. Ad esempio: clrscr () - -> La dichiarazione viene eseguita in file e funzione sono definite nel file della libreria. Turbo C ++ 3.0 Il compilatore dichiara automaticamente la funzione definita dall'utente. Ma dovremmo dichiarare una funzione. Scriviamo solo il nome e il parametro passato nell'argomento nella funzione chiamante.

2. Prende qualcosa, non restituisce nulla

Esempio di programmazione 2

#includere
void aggiungi (int, int); // Dichiarazione della funzione a livello globale
void main ()

int x, y;
void aggiungi (int, int); // Dichiarazione di funzione a livello locale
printf ("immettere 2 numeri");
scanf (" %d %d", & x, & y); // Argomenti effettivi
Aggiungi (x, y);

void aggiungi (int x, int y) // argomenti formali

int c;
c = x+y;
printf ("somma è %d", c);

Produzione

Spiegazione

Se vogliamo aggiungere i due valori di due variabili dichiarate all'interno del main () e aggiungerlo in un nome di funzione diverso aggiunge (), usiamo il metodo di aspirazione. In questo caso, il valore di X e Y viene passato alla funzione Aggiungi quando ADD () chiama nella funzione principale. Per questo, si chiama chiamata per valore.

Ogni volta che passiamo un valore come argomento a una funzione di chiamata, questi argomenti sono chiamati argomenti effettivi.

E in una definizione di funzione, all'interno della parentesi di una funzione, dichiariamo la variabile che riceverà il valore della variabile passata dalla funzione chiamante, che è chiamata argomento formale.

Il nome dell'argomento effettivo e della variabile dell'argomento formale può essere lo stesso perché il compilatore non si confonde in questo caso; Sa che la variabile x, y che viene dichiarata all'interno di main () e x, y dichiarate in add () sono variabili diverse.

Nella funzione di chiamata, passiamo solo il valore delle variabili dichiarate all'interno di Main (). Per questo, scriviamo add (x, y);

3. Non prende nulla, restituisce qualcosa

Esempio di programmazione 3

#includere
int add (void);
void main ()

int s;
s = add ();
printf ("somma è %d", s);

int add ()

int a, b, c;
printf ("immettere due numeri");
scanf (" %d %d", & a, & b);
c = a+b;
ritorno c;

Produzione

Spiegazione

Non prende nulla significa, quando anche main () chiama una funzione per aggiungere (), ciò significa che non richiede alcun argomento. SI SI MEI ADD () Prendi il valore delle variabili dall'utente ed esegui l'aggiunta.

Restituire qualcosa significa add (); Qui, restituisci il risultato aggiunto a Main () per utilizzare il reso delle parole chiave. Quando ADD () restituisce il valore, questi valore devono essere mantenuti in una variabile del tipo di dati INT che viene dichiarata in Main (). Perché qui il tipo di ritorno è int. Questo è medio s = add () è sostituito da, s = valore del reso.

Per questo, nella definizione della funzione di add (), qui dobbiamo menzionare il tipo di restituzione di add (), ecco int int. Nel caso di un reso, restituiamo solo un valore. Quindi, restituire (a, b, c)-> è sbagliato. Significa che restituisce solo il valore di C perché è scritto almeno all'interno della parentesi.

Quando una funzione restituisce un valore, allora si deve capire che il controllo va anche alla funzione di chiamata.

Se scriviamo qualsiasi codice dopo l'istruzione di ritorno, quel particolare codice non è stato effetto sul programma mentre il controllo si sposta sulla funzione di chiamata.

Qualsiasi funzione non può accedere alla variabile dichiarata dall'altra funzione. Perché qualsiasi variabile dichiarata all'interno di una funzione viene trattata come una variabile locale.

Quindi, in main (), dobbiamo stampare il valore di S anziché C perché C è la variabile dichiarata all'interno dell'aggiunta ().

4. Prende qualcosa, restituisce qualcosa

Esempio di programmazione 4

#includere
int add (int, int);
void main ()

int s, x, y;
printf ("immettere 2 numeri");
scanf (" %d %d", & x, & y);
s = add (x, y);
printf ("somma è %d", s);

int add (int a, int b)

int c;
c = a+b;
ritorno c;

Produzione

Spiegazione

Prende qualcosa di restituisce nulla del programma è lo stesso che non restituisce nulla; L'unica differenza è che, come è, qualcosa è in natura, quindi il valore di due numeri deve essere passato nella funzione di chiamata.

Ciò significa che l'utente prende il valore dalla tastiera utilizzata dal principale (). Quel valore viene passato all'ADD ().

Quindi, è sul tipo di chiamata per valore di valore. Altrimenti, la procedura di restituzione è la stessa delle riprese, restituisce qualcosa della procedura.

Conclusione

Apprendendo diversi tipi di funzioni in C, abbiamo concluso che ogni tipo di funzione dà lo stesso risultato. Ma ognuno di essi ha un meccanismo diverso. Ognuno di essi è necessario in base al requisito del programma. Quindi dobbiamo conoscere ogni tipo di funzione.