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

Geef arrays door aan een functie in C

Geef arrays door aan een functie in C

In deze tutorial leer je om arrays (zowel eendimensionale als multidimensionale arrays) door te geven aan een functie in C-programmering met behulp van voorbeelden.

Bij C-programmering kun je een hele array doorgeven aan functies. Voordat we dat leren, laten we eens kijken hoe je individuele elementen van een array kunt doorgeven aan functies.


Individuele array-elementen doorgeven

Het doorgeven van array-elementen aan een functie is vergelijkbaar met het doorgeven van variabelen aan een functie.


Voorbeeld 1:geslaagd voor individuele array-elementen

#include <stdio.h>
void display(int age1, int age2) {
  printf("%d\n", age1);
  printf("%d\n", age2);
}

int main() {
  int ageArray[] = {2, 8, 4, 12};

  // pass second and third elements to display()
  display(ageArray[1], ageArray[2]); 
  return 0;
}

Uitvoer

8
4

Hier hebben we arrayparameters doorgegeven aan de display() functie op dezelfde manier waarop we variabelen doorgeven aan een functie.

// pass second and third elements to display()
display(ageArray[1], ageArray[2]);

We kunnen dit zien in de functiedefinitie, waar de functieparameters individuele variabelen zijn:

void display(int age1, int age2) {
  // code
}

Voorbeeld 2:Arrays doorgeven aan functies

// Program to calculate the sum of array elements by passing to a function 

#include <stdio.h>
float calculateSum(float num[]);

int main() {
  float result, num[] = {23.4, 55, 22.6, 3, 40.5, 18};

  // num array is passed to calculateSum()
  result = calculateSum(num); 
  printf("Result = %.2f", result);
  return 0;
}

float calculateSum(float num[]) {
  float sum = 0.0;

  for (int i = 0; i < 6; ++i) {
    sum += num[i];
  }

  return sum;
}

Uitvoer

Result = 162.50

Om een ​​hele array door te geven aan een functie, wordt alleen de naam van de array als argument doorgegeven.

result = calculateSum(num);

Let echter op het gebruik van [] in de functiedefinitie.

float calculateSum(float num[]) {
... ..
}

Dit informeert de compiler dat u een eendimensionale array doorgeeft aan de functie.


Multidimensionale arrays doorgeven aan een functie

Om multidimensionale arrays door te geven aan een functie, wordt alleen de naam van de array doorgegeven aan de functie (vergelijkbaar met eendimensionale arrays).

Voorbeeld 3:Tweedimensionale arrays doorgeven

#include <stdio.h>
void displayNumbers(int num[2][2]);

int main() {
  int num[2][2];
  printf("Enter 4 numbers:\n");
  for (int i = 0; i < 2; ++i) {
    for (int j = 0; j < 2; ++j) {
      scanf("%d", &num[i][j]);
    }
  }

  // pass multi-dimensional array to a function
  displayNumbers(num);

  return 0;
}

void displayNumbers(int num[2][2]) {
  printf("Displaying:\n");
  for (int i = 0; i < 2; ++i) {
    for (int j = 0; j < 2; ++j) {
      printf("%d\n", num[i][j]);
    }
  }
}

Uitvoer

Enter 4 numbers:
2
3
4
5
Displaying:
2
3
4
5

Let op de parameter int num[2][2] in het functieprototype en functiedefinitie:

// function prototype
void displayNumbers(int num[2][2]);

Dit betekent dat de functie een tweedimensionale array als argument neemt. We kunnen ook arrays met meer dan 2 dimensies doorgeven als functieargument.

Bij het doorgeven van tweedimensionale arrays is het niet verplicht om het aantal rijen in de array op te geven. Het aantal kolommen moet echter altijd worden opgegeven.

Bijvoorbeeld,

void displayNumbers(int num[][2]) {
  // code
}

Opmerking: Bij C-programmering kunt u arrays doorgeven aan functies, maar u kunt geen arrays van functies retourneren.


C Taal

  1. C#-matrices
  2. C Gegevenstypen
  3. Python pass-instructie
  4. Python-functieargumenten
  5. Python-sluitingen
  6. C - Functies
  7. C - Bitvelden
  8. C - Bestand I/O
  9. C - Variabele argumenten
  10. Polymorfisme in C++
  11. C# - Methoden