Ulike typer funksjoner

Ulike typer funksjoner
En funksjon er en kode for å utføre en viss operasjon. Den har et navn for identifikasjonen. Her er vi ikke interessert i å definere funksjonen. Her diskuterer vi forskjellige typer funksjoner og deres applikasjon.

Måter å definere en funksjon på

Det er fire typer programmer tilgjengelig på C -språket. De er:

1. Tar ingenting, returnerer ingenting.

2. Tar noe, returnerer ingenting.

3. Tar ingenting, returnerer noe.

4. Tar noe, returnerer noe.

1. Tar ingenting, returnerer ingenting

Programmering Eksempel 1

#inkludere
tomrom ()

void add (void);
Legg til ();

void add ()

int a, b, c;
printf ("Skriv inn to tall");
SCANF (" %D %D", & A, & B);
c = a + b;
printf ("sum er = %d", c);

Produksjon

Forklaring

Hver gang vi ønsker å kompilere et program, må kompilatoren vite betydningen av hvert ord skrevet i et program som betyr at det må erklære hver funksjon eller variabel i programmet. For denne funksjonen kreves erklæring. I funksjonserklæring skriver vi 3 ting

  1. Returtype
  2. Navn på FM
  3. Argument

Men i tilfelle av en forhåndsdefinert funksjon, er en erklæring skrevet i overskriftsfilen. For eksempel: CLRSCR () - -> Deklarasjon gjøres i fil og funksjon er definert i bibliotekfilen. Turbo C ++ 3.0 Compiler erklærer automatisk brukerdefinert funksjon. Men vi bør erklære en funksjon. Vi skriver bare navnet og parameteren som er gitt i argumentet i anropsfunksjonen.

2. Tar noe, returnerer ingenting

Programmering Eksempel 2

#inkludere
void add (int, int); // Funksjonserklæring globalt
tomrom ()

int x, y;
void add (int, int); // funksjonserklæring lokalt
printf ("Angi 2 tall");
Scanf (" %d %d", & x, & y); // faktiske argumenter
legg til (x, y);

void add (int x, int y) // formelle argumenter

int c;
c = x+y;
printf ("sum er %d", c);

Produksjon

Forklaring

Hvis vi ønsker å legge til de to verdiene til to variabler som er deklarert inne i hoved () og legge til dette i et annet funksjonsnavn legger til (), bruker vi Take Noe Returns Nothing Method. I dette tilfellet sendes verdien av x og y til add -funksjonen når add () ringer inn hovedfunksjonen. For dette kalles det anrop etter verdi.

Hver gang vi gir en verdi som et argument til en anropsfunksjon, kalles disse argumentene faktisk argument.

Og i en funksjonsdefinisjon, inne i parentesen til en funksjon, erklærer vi variabelen som vil motta verdien av variabelen som er gitt av anropsfunksjonen, som kalles et formelt argument.

Navnet på det faktiske argumentet og den formelle argumentvariabelen kan være det samme fordi kompilatoren ikke forvirrer i dette tilfellet; Den vet at variabel x, y som er erklært inne i main () og x, y erklært i add () er forskjellige variabler.

Når vi kaller funksjonen, passerer vi bare verdien av variabler som er erklært i Main (). For dette skriver vi add (x, y);

3. Tar ingenting, returnerer noe

Programmeringseksempel 3

#inkludere
int add (void);
tomrom ()

int s;
s = add ();
printf ("sum er %d", s);

int add ()

int a, b, c;
printf ("Skriv inn to tall");
SCANF (" %D %D", & A, & B);
c = a+b;
return c;

Produksjon

Forklaring

Tar ingenting betyr, når til og med Main () kaller en funksjon for å legge til (), betyr det at det ikke tar noe argument. Det betyr at add () tar verdien av variabler fra brukeren og utfører tillegget.

Return noe betyr add (); her kan du returnere det ekstra resultatet til hoved () for å bruke nøkkelordet. Når du legger til () returnerer verdien, må denne verdien holdes i en Int -datatypevariabel (er) som er erklært i Main (). For her er returtypen int. Det er gjennomsnitt s = add () erstattes av, s = verdi av retur.

For dette, i funksjonsdefinisjonen av ADD (), her må vi nevne returtypen Add (), her er int. Når det gjelder retur, returnerer vi bare en verdi. Så return (a, b, c)-> er feil. Det betyr at det bare returnerer verdien av C fordi den er skrevet i det minste inne i parentesen.

Når noen funksjon returnerer en hvilken som helst verdi, skal det forstås at kontrollen også går tilbake til anropsfunksjonen.

Hvis vi skriver noen kode etter returerklæringen, har den aktuelle koden ikke vært noen effekt på programmet da kontrollen skifter til anropsfunksjonen.

Enhver funksjon kan ikke få tilgang til variabelen erklært av den andre funksjonen. Fordi enhver variabel som er deklarert i en funksjon blir behandlet som en lokal variabel.

Så i Main () må vi skrive ut verdien av S i stedet for C fordi C er variabelen som er erklært inne i tillegget ().

4. Tar noe, returnerer noe

Programmering Eksempel 4

#inkludere
int add (int, int);
tomrom ()

int s, x, y;
printf ("Angi 2 tall");
Scanf (" %d %d", & x, & y);
s = legg til (x, y);
printf ("sum er %d", s);

int add (int a, int b)

int c;
c = a+b;
return c;

Produksjon

Forklaring

Takes noe Returns Nothing -programmet er det samme som Takes Nothing Returns noe; Den eneste forskjellen er at som det er av tar, noe er i naturen, så verdien av to tall må sendes i anropsfunksjonen.

Det betyr at brukeren tar verdien fra tastaturet som brukes av hoved (). Den verdien sendes til ADD ().

Så det er på typen anrop etter verdieksempel. Ellers er returprosedyren den samme som tar ingenting, returnerer noe prosedyre.

Konklusjon

Når vi lærer om forskjellige typer funksjoner i C, har vi konkludert med at alle typer funksjoner gir samme resultat. Men hver av dem har en annen mekanisme. Hver av dem er nødvendig i henhold til kravet i programmet. Så vi må kjenne hver type funksjon.