Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

User-Defined Functies in C Beheersen: Een Stap-voor-Stap Gids

User-Defined Functies in C Beheersen

In deze tutorial leer je hoe je user-defined functies in C programmeren kunt creëren, prototypen en gebruiken, geïllustreerd met duidelijke voorbeelden.

Wat is een Functie?

Een functie is een zelfstandig codeblok dat een specifieke taak uitvoert. C laat je je eigen functies definiëren, genaamd user-defined functies, om logica te inkapselen die herbruikbaar is door je programma heen.

Voorbeeld Scenario

Stel je voor je moet een cirkel maken en vervolgens kleuren op basis van de straal en een gekozen kleur. Je kunt dit oplossen met twee user-defined functies:

  • createCircle()
  • color()

Voorbeeld: Twee Integers Optellen

Hieronder is een simpel programma dat twee integers optelt met een user-defined addNumbers() functie.

#include <stdio.h> int addNumbers(int a, int b); // functie prototype int main(void) { int n1, n2, sum; printf("Enter two numbers: "); scanf("%d %d", &n1, &n2); sum = addNumbers(n1, n2); // functie aanroep printf("sum = %d\n", sum); return 0; } int addNumbers(int a, int b) // functie definitie { int result = a + b; return result; // return statement } 

Functie Prototype

Een functie prototype declareert een functie's naam, return type en parameters, wat de compiler informeert van zijn bestaan voordat de definitie komt. Het bevat niet de functie body.

Syntaxis

returnType functionName(type1 argument1, type2 argument2, ...); 

In het voorbeeld, int addNumbers(int a, int b); vertelt de compiler dat addNumbers een int retourneert en twee int parameters neemt.

Wanneer een user-defined functie gedefinieerd is vóór main(), is een prototype optioneel.


Een Functie Aanroepen

Controle wordt overgedragen aan de functie door het aan te roepen met de vereiste argumenten.

Syntaxis

functionName(argument1, argument2, ...); 

In het voorbeeldprogramma, addNumbers(n1, n2); geeft de waarden van n1 en n2 door aan de functie.


Functie Definitie

De definitie bevat de daadwerkelijke code die uitvoert wanneer de functie aangeroepen wordt.

Syntaxis

returnType functionName(type1 argument1, type2 argument2, ...) { // functie body } 

Wanneer addNumbers aangeroepen wordt, springt de compiler naar dit blok, voert de optelling uit, en retourneert het resultaat.


Argumenten Doorgeven

Argumenten zijn de daadwerkelijke waarden die aan een functie tijdens een aanroep worden doorgegeven. De parameters van de functie ontvangen deze waarden.

User-Defined Functies in C Beheersen: Een Stap-voor-Stap Gids

Argument types moeten parameter types matchen; anders zal de compiler een fout geven. Bijvoorbeeld, als n1 char is, moet de corresponderende parameter a ook char zijn.

Functies kunnen ook zonder argumenten aangeroepen worden als geen vereist zijn.


Return Statement

Het return sleutelwoord termineert een functie en levert optioneel een waarde terug aan de aanroeper.

Syntaxis

return expression; 

In ons voorbeeld, return result; stuurt de som terug naar main(), waar het opgeslagen wordt in sum.

User-Defined Functies in C Beheersen: Een Stap-voor-Stap Gids

Zorg dat het return type matcht met het gedeclareerde return type van de functie.

Voor diepere inzichten in argument doorgeven en return waarden, verkken geavanceerde C functie concepten.

C Taal

  1. Vier bewaarde patronen voor gebruiksgedefinieerde functies in C
  2. Hoe je 1D- en 2D-arrays doorgeeft aan functies in C – Een praktische gids
  3. C Standaardbibliotheek-functies onder de knie krijgen: Een praktische gids
  4. C-functies: Structuur, declaratie, aanroep en argumenten
  5. Efficiënt geheugengebruik met C-bitvelden
  6. Bestands-I/O in C: Bestanden aanmaken, openen, lezen en schrijven
  7. Variabele Argumenten in C: Een Praktische Gids
  8. C# Methodes: Definiëren, Aanroepen en Gebruiken van Functies
  9. Verilog-functies beheersen voor efficiënt RTL-ontwerp
  10. MATLAB Functies: Definitie, Werkruimte, In- en Outputs
  11. Python lambda-functies beheersen: praktische voorbeelden & best practices