Heim  >  Artikel  >  Backend-Entwicklung  >  Benutzerdefinierte Funktion in C-Sprache

Benutzerdefinierte Funktion in C-Sprache

王林
王林Original
2020-05-12 13:15:405972Durchsuche

Benutzerdefinierte Funktion in C-Sprache

Definition einer parameterlosen Funktion in der C-Sprache

Wenn die Funktion keine vom Benutzer übergebenen Daten empfängt, kann sie ohne Parameter definiert werden. Wie unten gezeigt:

dataType  functionName(){
    //body
}

dataType ist der Rückgabewerttyp, der ein beliebiger Datentyp in der C-Sprache sein kann, z. B. int, float, char usw.

functionName ist der Funktionsname, der eine Art Bezeichner ist. Die Benennungsregeln sind die gleichen wie bei Bezeichnern. Die Klammern ( ) nach dem Funktionsnamen dürfen nicht fehlen.

Körper ist der Funktionskörper, der den Code darstellt, den die Funktion ausführen muss und der den Hauptteil der Funktion darstellt. Auch wenn nur eine Anweisung vorhanden ist, muss der Funktionskörper von {} umgeben sein.

Wenn es einen Rückgabewert gibt, verwenden Sie die Return-Anweisung im Funktionskörper, um zurückzukehren. Der Typ der zurückgegebenen Daten muss mit dataType identisch sein.

Definieren Sie beispielsweise eine Funktion, um das Ergebnis der Addition von 1 bis 100 zu berechnen:

#include <stdio.h>

int sum(){
    int i, sum=0;
    for(i=1; i<=100; i++){
        sum+=i;
    }
    return sum;
}

int main(){
    int a = sum();
    printf("The sum is %d\n", a);
    return 0;
}

Laufendes Ergebnis:

The sum is 5050

Funktionen können nicht verschachtelt werden und sind main ist auch eine Funktionsdefinition, daher sollte sum außerhalb von main platziert werden. Funktionen müssen zuerst definiert und dann verwendet werden, daher muss sum vor main stehen.

Hinweis: main ist eine Funktionsdefinition, kein Funktionsaufruf. Wenn die ausführbare Datei in den Speicher geladen wird, startet das System die Ausführung von der Hauptfunktion aus, das heißt, das System ruft die von uns definierte Hauptfunktion auf.

Funktion ohne Rückgabewert

Einige Funktionen müssen keinen Wert zurückgeben, oder der Rückgabewerttyp ist unsicher (selten). Sie können beispielsweise durch void ausgedrückt werden:

void hello(){
    printf ("Hello,world \n");
    //没有返回值就不需要 return 语句
}

void ist ein Schlüsselwort in der C-Sprache, das „leerer Typ“ oder „kein Typ“ bedeutet. In den meisten Fällen bedeutet es, dass es keine Rückgabeanweisung gibt.

Definition einer parametrisierten Funktion in der C-Sprache

Wenn die Funktion vom Benutzer übergebene Daten empfangen muss, muss sie bei der Definition Parameter mitbringen. Wie unten gezeigt:

dataType  functionName( dataType1 param1, dataType2 param2 ... ){
    //body
}

dataType1 param1, dataType2 param2 ... ist die Parameterliste. Eine Funktion kann nur einen Parameter oder mehrere Parameter haben, getrennt durch . Parameter sind im Wesentlichen Variablen, und der Typ und der Name müssen beim Definieren angegeben werden. Im Vergleich zur Definition einer parameterlosen Funktion verfügt die Definition einer parametrisierten Funktion nur über eine weitere Parameterliste.

Die Daten werden über Parameter zur Verarbeitung an das Innere der Funktion übergeben. Nach Abschluss der Verarbeitung wird der Rückgabewert an die Außenseite der Funktion gemeldet.

Berechnen Sie das Ergebnis der Addition von m zu n:

#include <stdio.h>

int sum(int m, int n){
    int i, sum=0;
    for(i=m; i<=n; i++){
        sum+=i;
    }
    return sum;
}

int main(){
    int begin = 5, end = 86;
    int result = sum(begin, end);
    printf("The sum from %d to %d is %d\n", begin, end, result);
    return 0;
}

Laufergebnis:

The sum from 5 to 86 is 3731

Wenn sum() definiert ist, werden die Werte der Parameter m und n sind unbekannt. Übergeben Sie beim Aufruf von sum() die Werte von begin und n. Dies ist der gleiche Vorgang wie das Zuweisen von Werten zu Variablen. Es entspricht:

m = begin;
n = end;

Empfohlenes Tutorial: C-Sprach-Tutorial

Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Funktion in C-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn