Zadzwoń według wartości i wywołaj odniesienie w języku C

Zadzwoń według wartości i wywołaj odniesienie w języku C

Funkcja jest bardzo ważną koncepcją w języku C. Funkcja to kawałek kodu, który pomaga nam wykonać określone działanie. Na podstawie jego definicji funkcja można podzielić na cztery typy.

Jest to oparte na funkcji przyjmującej dane wejściowe i zwrotne.

  1. Wprowadzanie żadnego i wyjścia.
  2. Wprowadź pewną wartość i wyjść.
  3. Wprowadzaj bez i wysypią jakąś wartość.
  4. Wprowadź pewną wartość i wyświetl pewną wartość.

W dzisiejszym temacie omówimy połączenie według wartości i połączenia przez odniesienie. Tematy te są całkowicie oparte na klasyfikacji funkcji.

Przykład programowania 1:

W tym przykładzie programowania zobaczymy mechanizm wywołania według wartości.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#włączać
int add (int, int); // Prototyp deklaracji funkcji.
int main ()

int s, x, y;
printf („Wprowadź 2 liczby”);
Scanf („ %d %d”, i x i y);
s = add (x, y); // wywołanie funkcji.
printf („suma to %d”, s);
powrót 0;

int add (int a, int b) // definicja funkcji i przekazanie wartości przez funkcję.

int c;
c = a + b;
zwrot c;

Wyjście:

Wyjaśnienie:

Ten przykład programowania jest idealnym przykładem wywołania według wartości. Jest to przykład bierze coś i coś zwraca.

Wprowadź pewną wartość i program wyjściowy Brak jest taki sam Jak Wejście Brak i wyprowadzają pewną wartość. Jedyną różnicą jest to, że z natury coś przyjmuje, więc wartość dwóch liczb musi zostać przekazana w funkcji wywoływania. Nazywają się faktyczne argumenty.

Lub użytkownik przyjmuje wartość z klawiatury, która jest używana przez funkcję Main (). Wartość jest następnie przekazywana do funkcji add (). Te wartości są wywoływane formalne argumenty.

To jest jeden rodzaj nazywane wartością przykład. W przeciwnym razie procedura zwrotna jest taka sama, jak nic nie bierze, zwraca coś procedury.

Przykład programowania 2:

Tutaj zobaczymy kolejny przykład wywołania metodą wartości, stosując coś i nie zwraca procedury.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#włączać
void add (int, int); // Deklaracja funkcji na całym świecie
int main ()

int x, y;
void add (int, int); // Deklaracja funkcji lokalnie
printf („Wprowadź 2 liczby”);
Scanf („ %d %d”, i x i y); // faktyczne argumenty
Dodaj (x, y);
powrót 0;

void add (int x, int y) // formalne argumenty

int c;
c = x + y;
printf („suma to %d”, c);

Wyjście:

Wyjaśnienie:

Jeśli chcemy dodać dwie wartości dwóch zmiennych, które są zadeklarowane wewnątrz main (). Dodaj to w innej nazwie funkcji Add (). Następnie używamy czegoś, co zwraca metodę nic. W takim przypadku w funkcji głównej wartość x, y jest przekazywana do funkcji dodawania, gdy przywołuje add (). Bo można to nazwać Zadzwoń według wartości.

Ilekroć przekazujemy wartość jako argument funkcji wywołania, wówczas argumenty te nazywane są faktycznymi argumentami.

Z definicji, wewnątrz nawiasu funkcji, gdy deklarujemy zmienną, która odbędzie wartość zmiennej, która jest przekazywana przez funkcję wywoływania, nazywa się argumentem formalnym.

Nazwa zmiennej faktycznego argumentu i formalnego argumentu może być taka sama, ponieważ kompilator zna tę zmienną x, y są zadeklarowane wewnątrz funkcji main () i x, y zadeklarowane w add () to różne zmienne.

W funkcji wywoływania po prostu przekazujemy wartość zmiennych zadeklarowanych wewnątrz Main (). W tym celu piszemy dodaj (x, y);

Przykład programowania 3:

Tutaj zobaczymy przykład połączenia według adresu, stosując coś i zwraca coś procedury.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#włączać
int add (int *, int *); // Deklaracja prototypu funkcji na całym świecie
int main ()

int s, x, y;
printf („Wprowadź dwie liczby:”);
Scanf („ %d %d”, i x i y);
s = add (& x i y); // Przekazywanie adresu zmiennych.
printf („suma to: %d \ n”, s);
powrót 0;

int add (int *a, int *b)

int c;
c = *a + *b;
zwrot (c);

Wyjście:

Wyjaśnienie:

To jest przykład wywołania przez odniesienie. Czasami w naszym programie sytuacja występuje, gdy nie jesteśmy w stanie przekazać wartości zmiennej poprzez funkcję. Musimy przekazać adres tych zmiennych, aby uzyskać do nich dostęp. Nazywa się to Call przez odniesienie.

Tutaj przekazujemy adres Zmienna A, zmienna B wewnątrz funkcji dodawania, aby sumować wartości Zmienna A, zmienna B.

Przykład programowania 4:

Tutaj zobaczymy kolejny przykład połączenia według adresu, stosując coś i zwraca coś procedury.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#włączać
int swap (int *, int *);
int main ()

int p = 56;
int q = 22;
printf („Przed zamianą wartości liczby całkowitej p: %d \ n”, p);
printf („Przed zamianą wartości liczby całkowitej q: %d \ n”, q);
zamiana (i p, i q); // Wywołaj funkcję.
printf („Po zamianie wartości liczby całkowitej p: %d \ n”, p);
printf („Po zamianie wartości liczby całkowitej q: %d \ n”, q);
powrót 0;

int swap (int *x, int *y) // Przekazywanie adresu zmiennych.

int t; / * zmienna tymczasowa do przechowywania wartości 1. zmiennej */
t = *x;
*x = *y;
*y = t;

Wyjście:

Wyjaśnienie:

To jest przykład wywołania przez odniesienie. Czasami w naszym programie sytuacja występuje, gdy nie jesteśmy w stanie przekazać wartości zmiennej poprzez funkcję. Musimy przekazać adres tych zmiennych, aby uzyskać do nich dostęp. Nazywa się to Call przez odniesienie.

Tutaj przekazujemy adres Zmienna A, zmienna B wewnątrz funkcji swap (), aby zamienić wartości Zmienna A, zmienna B. W rezultacie Wartości a, b są zamienne poprzez połączenie przez odniesienie.