Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Lewati array ke fungsi di C

Meneruskan array ke fungsi di C

Dalam tutorial ini, Anda akan belajar meneruskan array (array satu dimensi dan multidimensi) ke fungsi dalam pemrograman C dengan bantuan contoh.

Dalam pemrograman C, Anda dapat meneruskan seluruh array ke fungsi. Sebelum kita mempelajarinya, mari kita lihat bagaimana Anda dapat meneruskan elemen individual dari array ke fungsi.


Luluskan Elemen Array Individu

Melewati elemen array ke suatu fungsi mirip dengan meneruskan variabel ke suatu fungsi.


Contoh 1:Lulus Elemen Array Individu

#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;
}

Keluaran

8
4

Di sini, kami telah meneruskan parameter array ke display() fungsi dengan cara yang sama seperti kita meneruskan variabel ke fungsi.

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

Kita dapat melihat ini dalam definisi fungsi, di mana parameter fungsi adalah variabel individual:

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

Contoh 2:Meneruskan Array ke Fungsi

// 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;
}

Keluaran

Result = 162.50

Untuk meneruskan seluruh array ke suatu fungsi, hanya nama array yang dilewatkan sebagai argumen.

result = calculateSum(num);

Namun, perhatikan penggunaan [] dalam definisi fungsi.

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

Ini memberi tahu kompiler bahwa Anda meneruskan array satu dimensi ke fungsi.


Meneruskan Array Multidimensi ke Fungsi

Untuk meneruskan array multidimensi ke suatu fungsi, hanya nama array yang diteruskan ke fungsi tersebut (mirip dengan array satu dimensi).

Contoh 3:Meneruskan array dua dimensi

#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]);
    }
  }
}

Keluaran

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

Perhatikan parameter int num[2][2] dalam prototipe fungsi dan definisi fungsi:

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

Ini menandakan bahwa fungsi mengambil array dua dimensi sebagai argumen. Kita juga dapat melewatkan array dengan lebih dari 2 dimensi sebagai argumen fungsi.

Saat melewati array dua dimensi, tidak wajib untuk menentukan jumlah baris dalam array. Namun, jumlah kolom harus selalu ditentukan.

Misalnya,

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

Catatan: Dalam pemrograman C, Anda dapat meneruskan array ke fungsi, namun Anda tidak dapat mengembalikan array dari fungsi.


Bahasa C

  1. C# Array
  2. Tipe Data C
  3. Pernyataan lulus python
  4. Argumen Fungsi Python
  5. Penutupan Python
  6. C - Bidang Bit
  7. C - File I/O
  8. C - Argumen Variabel
  9. Polimorfisme dalam C++
  10. C# - Metode