C Funkcje zdefiniowane przez użytkownika

W tym samouczku nauczysz się tworzyć funkcje zdefiniowane przez użytkownika w programowaniu w języku C na przykładzie.

Funkcja to blok kodu, który wykonuje określone zadanie.

C umożliwia definiowanie funkcji zgodnie z potrzebami. Te funkcje są znane jako funkcje zdefiniowane przez użytkownika. Na przykład:

Załóżmy, że musisz utworzyć okrąg i pokolorować go w zależności od promienia i koloru. Możesz utworzyć dwie funkcje, aby rozwiązać ten problem:

  • createCircle() funkcjonować
  • color() funkcjonować

Przykład: funkcja zdefiniowana przez użytkownika

Oto przykład dodawania dwóch liczb całkowitych. Aby wykonać to zadanie, stworzyliśmy plik zdefiniowany przez użytkownika addNumbers().

 #include int addNumbers(int a, int b); // function prototype int main() ( int n1,n2,sum; printf("Enters two numbers: "); scanf("%d %d",&n1,&n2); sum = addNumbers(n1, n2); // function call printf("sum = %d",sum); return 0; ) int addNumbers(int a, int b) // function definition ( int result; result = a+b; return result; // return statement ) 

Prototyp funkcji

Prototyp funkcji to po prostu deklaracja funkcji, która określa nazwę, parametry i typ zwracanej funkcji. Nie zawiera treści funkcji.

Prototyp funkcji dostarcza kompilatorowi informacji, że funkcja może być później używana w programie.

Składnia prototypu funkcji

 returnType functionName (typ1 argument1, typ2 argument2,…);

W powyższym przykładzie int addNumbers(int a, int b);jest to prototyp funkcji, który dostarcza kompilatorowi następujące informacje:

  1. nazwa funkcji to addNumbers()
  2. zwracanym typem funkcji jest int
  3. intdo funkcji przekazywane są dwa argumenty typu

Prototyp funkcji nie jest potrzebny, jeśli funkcja zdefiniowana przez użytkownika jest zdefiniowana przed main()funkcją.

Wywołanie funkcji

Sterowanie programem jest przenoszone do funkcji zdefiniowanej przez użytkownika poprzez jej wywołanie.

Składnia wywołania funkcji

 nazwaFunkcji (argument1, argument2,…);

W powyższym przykładzie wywołanie funkcji jest wykonywane za pomocą addNumbers(n1, n2);instrukcji wewnątrz main()funkcji.

Definicja funkcji

Definicja funkcji zawiera blok kodu do wykonania określonego zadania. W naszym przykładzie dodanie dwóch liczb i zwrócenie ich.

Składnia definicji funkcji

 returnType functionName (typ1 argument1, typ2 argument2,…) (// treść funkcji) 

Gdy funkcja jest wywoływana, sterowanie programem jest przenoszone do definicji funkcji. Kompilator zaczyna też wykonywać kody w treści funkcji.

Przekazywanie argumentów do funkcji

W programowaniu argument odnosi się do zmiennej przekazanej do funkcji. W powyższym przykładzie dwie zmienne n1 i n2 są przekazywane podczas wywołania funkcji.

Parametry a i b akceptują argumenty przekazane w definicji funkcji. Te argumenty nazywane są parametrami formalnymi funkcji.

Typ argumentów przekazywanych do funkcji i parametry formalne muszą być zgodne, w przeciwnym razie kompilator zgłosi błąd.

Jeśli n1 jest typu char, a także powinno być typu char. Jeśli n2 jest typu float, zmienna b również powinna być typu float.

Funkcję można również wywołać bez przekazywania argumentu.

Instrukcja zwrotu

Instrukcja return przerywa wykonywanie funkcji i zwraca wartość do funkcji wywołującej. Sterowanie programem jest przekazywane do funkcji wywołującej po instrukcji return.

W powyższym przykładzie wartość zmiennej wynikowej jest zwracana do funkcji głównej. Ta wartość main()jest przypisywana zmiennej sumarycznej w funkcji.

Składnia instrukcji return

 return (wyrażenie); 

Na przykład,

return a; return (a + b);

Typ wartości zwracanej przez funkcję i typ zwracanej wartości określony w prototypie funkcji i definicji funkcji muszą być zgodne.

Odwiedź tę stronę, aby dowiedzieć się więcej o przekazywaniu argumentów i zwracaniu wartości z funkcji.

Interesujące artykuły...