Documente Academic
Documente Profesional
Documente Cultură
Funcții
Introducere
Definirea funcțiilor
Prototipul funcțiilor
Apelul funcțiilor
Transmiterea parametrilor
Fișiere header
nume_functie(lista_parametri_actuali);
void main( ){
vol = volum ( 12.2, 5.67, 9.04 ) ;
printf ( " Volumul este % f ", vol ) ;
}
double volum( double s1, double s2, double s3 )
{
return s1*s2*s3 ;
}
Programarea calculatoarelor I - Gyorodi
Cornelia 11
Prototipul funcțiilor
Avantaje:
Permite limbajului C să găsească orice nepotrivire între tipul
argumentelor folosite pentru apelarea unei funcții și tipul
parametrilor declarați ai acesteia
Verifică dacă numărul argumentelor cu care a fost apelată
funcția este același cu numărul parametrilor declarați ai funcției.
În standardul ANSI o funcție care nu are parametri va conține
cuvântul void inchis între paranteze.
if ( is_factor(num1 * 2, num2) == 0) {
...}
main
{ is_factor a b
3 6
… {
j = is_factor(3, 6); …
… return result;
}
calling function } called function
/* Prototipul functiilor */
float calcul_serie(float r1, float r2);
float calcul_paralel(float r1, float r2);
#include <stdio.h>
#include <stdlib.h>
return EXIT_SUCCESS;
}
22
Programarea calculatoarelor I - Gyorodi Cornelia
Exemplu (continuare)
int este_factor(int a, int b)
{
int result;
if ( (a == 0) || (b == 0) )
result = 0;
else {
if (a % b == 0)
result = 1;
else
result = 0;
}
return result;
}
Mai multe detalii în Bibl 1 - Exemplu 9.3
Programarea calculatoarelor I - Gyorodi
Cornelia 23
Domeniu de vizibilitate - Variabile locale și variabile globale
float x;
int main(void) {
int a, b = 2, c;
a = b + 3;
scanf(“%f”, &x);
c = f1(2, x);
return EXIT_SUCCESS;
}
f1(tab);
f2(tab);
f3(tab);
}
Programarea calculatoarelor I -
34
Gyorodi Cornelia
void f1(int num[5])
{
int i;
for (i = 0; i < 5; i++)
printf(" %d ", num[i]);
}
void f2(int num[])
{
int i;
printf("\n");
for( i = 0; i < 5; i++)
printf(" %d ", num[i]);
}
void f3(int *num)
{
int i;
printf("\n");
for( i = 0; i < 5; i++)
printf(" %d ", num[i]);
}
Mai multe detalii în Bibl 1 - Exemplu 9.5
35
Fișiere Header
Fișierele header
Conțin prototipul funcțiilor de biblotecă