array sebagai Parameter
Pelajaran 9 dari 17 dalam kursus Fungsi dalam C di Coddy.
Fungsi juga dapat menerima array sebagai parameter, sama seperti variabel lainnya. Satu-satunya perbedaan adalah array diteruskan sebagai pointer ke fungsi, berbeda dengan tipe primitif lainnya yang kita teruskan berdasarkan nilai.
Saat array diteruskan ke fungsi, fungsi menerima pointer ke elemen pertama dari array.
Berikut contoh cara menggunakannya:
#include <stdio.h>
// Definisi fungsi
void printArray(char *arr[]) {
for (int i = 0; i <= 3; i++) {
printf("%s ", arr[i]);
}
printf("\n");
}
int main() {
char *a[] = {"C", "Java", "React", "Python"};
// Memanggil fungsi
printArray(a);
return 0;
}
Dalam fungsi main, kita mendefinisikan array sederhana:
char *a[] = {"C", "Java", "React", "Python"};Dalam fungsi printArray, kita melakukan perulangan dari 0 hingga 3 dan mencetak setiap nilai:
for (int i = 0; i <= 3; i++) {
printf("%s ", arr[i]);
}Output-nya akan seperti ini:
C Java React Python Catatan: Saat menangani string, kita perlu menggunakan tanda bintang (
*) secara eksplisit untuk memberi tahu compiler bahwa setiap string (misalnya, "Java") adalah sebuah elemen dari array. Jika tidak, compiler akan menganggap setiap karakter (misalnya, 'J') sebagai sebuah elemen.
Tantangan
MudahTulis fungsi bernama printDouble yang menerima array berisi angka, menggandakan setiap elemen, lalu mencetak list hasilnya ke layar.
Sebagai contoh, dengan input:
2 6 8 10Output-nya:
4 12 16 20Coba sendiri
#include <stdio.h>
// Definisi fungsi
int main()
{
// Jangan ubah ini
int nums[] = {10, 6, 22, 40, 1}};
// Panggil fungsi
printDouble(nums);
return 0;
}Semua pelajaran di Fungsi dalam C
1Pengantar
Pengantar2Fungsi dalam C
PengantarParameter FungsiNilai KembalianCakupan VariabelVariabel EksternalNilai vs PointerFungsi Rekursifarray sebagai ParameterFungsi VariadikTantangan RangkumanLatihan sendiri: Compiler C online