A Funktion in C ist eine Reihe von Anweisungen, die bei Aufruf eine bestimmte Aufgabe ausführen. Es ist der Grundbaustein eines C-Programms, der Modularität und Wiederverwendbarkeit des Codes bietet. Die Programmieranweisungen einer Funktion sind darin eingeschlossen { } Zahnspange , bestimmte Bedeutungen haben und bestimmte Operationen ausführen. In anderen Sprachen werden sie auch Unterprogramme oder Prozeduren genannt.
In diesem Artikel erfahren Sie mehr über Funktionen und Funktionsdefinitionen. Deklaration, Argumente und Parameter, Rückgabewerte und vieles mehr.
Syntax von Funktionen in C
Die Syntax einer Funktion kann in drei Aspekte unterteilt werden:
- Funktionsdeklaration Funktionsdefinition Funktionsaufrufe
Funktionsdeklarationen
In einer Funktionsdeklaration müssen wir den Funktionsnamen, seinen Rückgabetyp sowie die Anzahl und den Typ seiner Parameter angeben. Eine Funktionsdeklaration teilt dem Compiler mit, dass an einer anderen Stelle im Programm eine Funktion mit dem angegebenen Namen definiert ist.
Syntax
return_type name_of_the_function ( parameter_1 , parameter_2 );>
Der Parametername ist beim Deklarieren von Funktionen nicht obligatorisch. Wir können die Funktion auch deklarieren, ohne den Namen der Datenvariablen zu verwenden.
Beispiel
int sum (int a , int b ); int sum (int , int);>

Funktionsdeklaration
Notiz: Eine Funktion in C muss immer global deklariert werden, bevor sie aufgerufen wird.
Funktionsdefinition
Die Funktionsdefinition besteht aus tatsächlichen Anweisungen, die ausgeführt werden, wenn die Funktion aufgerufen wird (d. h. wenn die Programmsteuerung an die Funktion gelangt).
Eine C-Funktion wird im Allgemeinen in einem einzigen Schritt definiert und deklariert, da die Funktionsdefinition immer mit der Funktionsdeklaration beginnt und wir sie daher nicht explizit deklarieren müssen. Das folgende Beispiel dient sowohl als Funktionsdefinition als auch als Deklaration.
return_type function_name (para1_type para1_name, para2_type para2_name ) { // body of the function }> 
Funktionsdefinition in C
Funktionsaufruf
Ein Funktionsaufruf ist eine Anweisung, die den Compiler anweist, die Funktion auszuführen. Wir verwenden den Funktionsnamen und die Parameter im Funktionsaufruf.
Im folgenden Beispiel wird die erste Summenfunktion aufgerufen und 10,30 werden an die Summenfunktion übergeben. Nach dem Funktionsaufruf wird die Summe von a und b zurückgegeben und die Steuerung wird ebenfalls an die Hauptfunktion des Programms zurückgegeben.

Funktionsweise der Funktion in C
Notiz: Ein Funktionsaufruf ist erforderlich, um die Programmsteuerung zur Funktionsdefinition zu bringen. Wenn sie nicht aufgerufen werden, werden die Funktionsanweisungen nicht ausgeführt.
Beispiel einer C-Funktion
C
// C program to show function> // call and definition> #include> // Function that takes two parameters> // a and b as inputs and returns> // their sum> int> sum(>int> a,>int> b)> {> >return> a + b;> }> // Driver code> int> main()> {> >// Calling sum function and> >// storing its value in add variable> >int> add = sum(10, 30);> > >printf>(>'Sum is: %d'>, add);> >return> 0;> }> |
>
Int-zu-String-Konvertierung
>Ausgabe
Sum is: 40>
Wie wir bemerkt haben, haben wir keine explizite Funktionsdeklaration verwendet. Wir haben einfach die Funktion definiert und aufgerufen.
Funktionsrückgabetyp
Der Funktionsrückgabetyp gibt an, welcher Werttyp zurückgegeben wird, nachdem alle Funktionen ausgeführt wurden. Wenn wir keinen Wert zurückgeben möchten, können wir den Datentyp void verwenden.
Beispiel:
int func(parameter_1,parameter_2);>
Die obige Funktion gibt einen ganzzahligen Wert zurück, nachdem Anweisungen innerhalb der Funktion ausgeführt wurden.
Notiz: Von einer C-Funktion kann nur ein Wert zurückgegeben werden. Um mehrere Werte zurückzugeben, müssen wir Zeiger oder Strukturen verwenden.
Funktionsargumente
Funktionsargumente (auch als Funktionsparameter bekannt) sind die Daten, die an eine Funktion übergeben werden.
Beispiel:
int function_name(int var1, int var2);>
Bedingungen für Rückgabetypen und Argumente
In der Programmiersprache C können Funktionen entweder mit oder ohne Argumente aufgerufen werden und können Werte zurückgeben. Sie können Werte an die aufrufenden Funktionen zurückgeben oder auch nicht.
- Funktion ohne Argumente und ohne Rückgabewert
- Funktion ohne Argumente und mit Rückgabewert
- Funktion mit Argument und ohne Rückgabewert
- Funktion mit Argumenten und mit Rückgabewert
Weitere Informationen zu Funktionsargumenten und Rückgabewerten finden Sie im Artikel – Funktionsargumente und Rückgabewerte in C.
Wie funktioniert die C-Funktion?
Die Funktionsweise der C-Funktion kann wie folgt in die folgenden Schritte unterteilt werden:
Wie alt ist Kylie Jenner?
- Deklarieren einer Funktion: Das Deklarieren einer Funktion ist ein Schritt, in dem wir eine Funktion deklarieren. Hier definieren wir die Rückgabetypen und Parameter der Funktion.
- Funktion definieren: Aufrufen der Funktion: Der Aufruf der Funktion ist ein Schritt, bei dem wir die Funktion aufrufen, indem wir die Argumente in der Funktion übergeben. Ausführen der Funktion: Das Ausführen der Funktion ist ein Schritt, in dem wir alle Anweisungen innerhalb der Funktion ausführen können, um das Endergebnis zu erhalten. Rückgabe eines Werts: Die Rückgabe eines Werts ist der Schritt, bei dem der berechnete Wert nach der Ausführung der Funktion zurückgegeben wird. Das Beenden der Funktion ist der letzte Schritt, bei dem der gesamte den Variablen, Funktionen usw. zugewiesene Speicher zerstört wird, bevor die Hauptfunktion die volle Kontrolle erhält.
Arten von Funktionen
In C gibt es zwei Arten von Funktionen:
- Bibliotheksfunktionen Benutzerdefinierte Funktionen

Arten von Funktionen in C
1. Bibliotheksfunktion
Eine Bibliotheksfunktion wird auch als a bezeichnet eingebaute Funktion . Es existiert bereits ein Compilerpaket, das diese Funktionen enthält, von denen jede eine bestimmte Bedeutung hat und im Paket enthalten ist. Integrierte Funktionen haben den Vorteil, dass sie ohne Definition direkt verwendet werden können, wohingegen benutzerdefinierte Funktionen vor der Verwendung deklariert und definiert werden müssen.
Zum Beispiel:
pow(), sqrt(), strcmp(), strcpy() etc.>
Vorteile von C-Bibliotheksfunktionen
- Die Funktionen der C-Bibliothek sind einfach zu verwenden und für eine bessere Leistung optimiert.
- C-Bibliotheksfunktionen sparen viel Zeit, d. h. Zeit für die Funktionsentwicklung.
- C-Bibliotheksfunktionen sind praktisch, da sie immer funktionieren.
Beispiel:
C
// C program to implement> // the above approach> #include> #include> // Driver code> int> main()> {> >double> Number;> >Number = 49;> >// Computing the square root with> >// the help of predefined C> >// library function> >double> squareRoot =>sqrt>(Number);> > >printf>(>'The Square root of %.2lf = %.2lf'>,> >Number, squareRoot);> >return> 0;> }> |
>
>Ausgabe
The Square root of 49.00 = 7.00>
2. Benutzerdefinierte Funktion
Funktionen, die der Programmierer erstellt, werden als benutzerdefinierte Funktionen bezeichnet maßgeschneiderte Funktionen . Benutzerdefinierte Funktionen können je nach Bedarf des Programmierers verbessert und geändert werden. Immer wenn wir eine Funktion schreiben, die fallspezifisch ist und in keiner Header-Datei definiert ist, müssen wir unsere eigenen Funktionen entsprechend der Syntax deklarieren und definieren.
Vorteile benutzerdefinierter Funktionen
- Veränderbare Funktionen können je nach Bedarf geändert werden.
- Der Code dieser Funktionen ist in anderen Programmen wiederverwendbar.
- Diese Funktionen sind leicht zu verstehen, zu debuggen und zu warten.
Beispiel:
C
// C program to show> // user-defined functions> #include> int> sum(>int> a,>int> b)> {> >return> a + b;> }> // Driver code> int> main()> {> >int> a = 30, b = 40;> > >// function call> >int> res = sum(a, b);> >printf>(>'Sum is: %d'>, res);> >return> 0;> }> |
>
>Ausgabe
Sum is: 70>
Übergabe von Parametern an Funktionen
Die beim Aufruf der Funktion übergebenen Daten werden als tatsächliche Parameter bezeichnet. Im folgenden Programm werden 10 und 30 als tatsächliche Parameter bezeichnet. Formale Parameter sind die Variable und der Datentyp, wie in der Funktionsdeklaration erwähnt. Im folgenden Programm werden a und b als formale Parameter bezeichnet.

Übergabe von Parametern an Funktionen
Wir können Argumente auf zwei Arten an die C-Funktion übergeben:
- Übergeben Sie den Wert
- Als Referenz übergeben
1. Übergeben Sie den Wert
Die Parameterübergabe in dieser Methode kopiert Werte von tatsächlichen Parametern in formale Funktionsparameter. Daher werden alle innerhalb der Funktionen vorgenommenen Änderungen nicht in den Parametern des Aufrufers widergespiegelt.
Beispiel:
C
// C program to show use> // of call by value> #include> void> swap(>int> var1,>int> var2)> {> >int> temp = var1;> >var1 = var2;> >var2 = temp;> }> // Driver code> int> main()> {> >int> var1 = 3, var2 = 2;> >printf>(>'Before swap Value of var1 and var2 is: %d, %d
'>,> >var1, var2);> >swap(var1, var2);> >printf>(>'After swap Value of var1 and var2 is: %d, %d'>,> >var1, var2);> >return> 0;> }> |
>
>
android.process.acore stoppt ständigAusgabe
Before swap Value of var1 and var2 is: 3, 2 After swap Value of var1 and var2 is: 3, 2>
2. Übergeben Sie als Referenz
Die tatsächlichen Parameter des Aufrufers und die tatsächlichen Parameter der Funktion beziehen sich auf dieselben Speicherorte, sodass alle innerhalb der Funktion vorgenommenen Änderungen in den tatsächlichen Parametern des Aufrufers widergespiegelt werden.
Beispiel:
C
// C program to show use of> // call by Reference> #include> void> swap(>int> *var1,>int> *var2)> {> >int> temp = *var1;> >*var1 = *var2;> >*var2 = temp;> }> // Driver code> int> main()> {> >int> var1 = 3, var2 = 2;> >printf>(>'Before swap Value of var1 and var2 is: %d, %d
'>,> >var1, var2);> >swap(&var1, &var2);> >printf>(>'After swap Value of var1 and var2 is: %d, %d'>,> >var1, var2);> >return> 0;> }> |
>
>Ausgabe
Before swap Value of var1 and var2 is: 3, 2 After swap Value of var1 and var2 is: 2, 3>
Vorteile von Funktionen in C
Funktionen in C sind ein äußerst nützliches Feature von C mit vielen Vorteilen, wie unten erwähnt:
- Die Funktion kann die Wiederholung gleicher Anweisungen im Programm reduzieren.
- Die Funktion macht Code lesbar, indem sie unserem Programm Modularität verleiht.
- Es gibt keine feste Anzahl aufrufender Funktionen, sie können so oft aufgerufen werden, wie Sie möchten.
- Die Funktion reduziert die Größe des Programms.
- Sobald die Funktion deklariert ist, können Sie sie einfach verwenden, ohne über die interne Funktionsweise der Funktion nachdenken zu müssen.
Nachteile von Funktionen in C
Im Folgenden sind die größten Nachteile von Funktionen in C aufgeführt:
- Es können nicht mehrere Werte zurückgegeben werden.
- Speicher- und Zeitaufwand aufgrund der Stack-Frame-Zuweisung und der Übertragung der Programmsteuerung.
Abschluss
In diesem Artikel haben wir die folgenden Punkte zur Funktion besprochen:
Java-String-Index von
- Die Funktion ist der Codeblock, der innerhalb eines Programms beliebig oft wiederverwendet werden kann.
- Um eine Funktion verwenden zu können, müssen wir eine Funktion aufrufen.
- Die Funktionsdeklaration umfasst Funktionsname, Rückgabetyp und Parameter.
- Die Funktionsdefinition umfasst den Hauptteil der Funktion.
- Es gibt zwei Arten von Funktionen: benutzerdefinierte Funktionen und Bibliotheksfunktionen.
- In der Funktion gibt es zwei Arten von Aufrufen nach Wert und Aufrufen nach Referenz entsprechend den übergebenen Werten.
FAQs zu Funktionen in C
Q1. Funktionen definieren.
Antwort:
Funktionen sind Codeblöcke, die jedes Mal ausgeführt werden, wenn sie während der Ausführung eines Programms aufgerufen werden.
Q2. Was ist eine Forward-Deklaration?
Antwort:
Manchmal definieren wir die Funktion nach ihrem Aufruf, um eine bessere Lesbarkeit zu gewährleisten. In solchen Fällen deklarieren wir die Funktion vor ihrer Definition und ihrem Aufruf. Eine solche Erklärung wird „Forward Declaration“ genannt.
Q3. Was ist der Unterschied zwischen Funktionsdeklaration und -definition?
Antwort:
Die Daten wie Funktionsname, Rückgabetyp und Parameter sind in der Funktionsdeklaration enthalten, während die Definition den Hauptteil der Funktion darstellt. Alle diese Daten werden entsprechend den entsprechenden Schritten an den Compiler weitergegeben.
Q4. Was ist der Unterschied zwischen Funktionsargumenten und Parametern?
Antwort:
Funktionsparameter sind die in einer Funktionsdeklaration deklarierten Werte. Funktionsargumente hingegen sind die Werte, die während des Funktionsaufrufs in der Funktion übergeben werden.
Beispiel:
int func(int x,int y); func(10,20);>Hier sind int x und int y Parameter, während 10 und 20 die an die Funktion übergebenen Argumente sind.
Um mehr darüber zu erfahren, lesen Sie diesen Artikel – Unterschied zwischen Argumenten und Parametern in C.
F5. Können wir mehrere Werte von einer C-Funktion zurückgeben?
Antwort:
Nein, es ist im Allgemeinen nicht möglich, mehrere Werte von einer Funktion zurückzugeben. Aber wir können beides verwenden Hinweise an statische oder Heap-Speicherorte, um mehrere Werte zurückzugeben, oder wir können Daten in den einfügen Struktur und dann die Struktur zurückgeben.
Um mehr darüber zu erfahren, lesen Sie diesen Artikel – Wie gebe ich mehrere Werte von einer Funktion in C oder C++ zurück?
F6. Was ist der tatsächliche und formale Parameter?
Antwort:
Formaler Parameter: Die im Funktionsprototyp deklarierten Variablen werden als formale Argumente oder Parameter bezeichnet.
Aktueller Parameter: Die in der Funktion übergebenen Werte werden als tatsächliche Argumente oder Parameter bezeichnet.