Menu
CoddyTech

array dan Fungsi

Termasuk bagian Dasar-Dasar dalam perjalanan C++ di Coddy. Pelajaran 62 dari 74.

array tidak dapat diteruskan langsung ke fungsi sebagai array utuh. Saat kamu mencoba meneruskan array ke fungsi, array tersebut “meluruh” menjadi pointer ke elemen pertamanya.

Contoh:

int numbers[5] = {1, 2, 3, 4, 5};
void processArray(int arr[]) {
	int size = std::size(arr);
}

std::size(arr) tidak dapat di-compile di sini, karena arr sebenarnya adalah pointer, bukan array, dan pointer tidak menyimpan ukuran array. Kamu akan mempelajari pointer di kursus berikutnya.

Inilah alasan mengapa saat meneruskan array ke fungsi, biasanya kita perlu meneruskan ukurannya sebagai parameter terpisah:

void processArray(int arr[], int size) {
    // Sekarang kamu bisa mengolah array dengan aman menggunakan parameter size
}

Berikut cara memanggil fungsi:

int numbers[5] = {1, 2, 3, 4, 5};
processArray(numbers, 5);

Selain itu, kamu tidak dapat mengembalikan array dari sebuah fungsi:

int[] processArray(int arr[]) {
	return arr;
}

Ini tidak sah. Sebagai gantinya, kamu sebaiknya menggunakan sintaks *:

int* processArray(int arr[]) {
	return arr;
}
int* newArr = processArray(arr);

Sintaks bintang (*) mengacu pada pointer yang akan dibahas di kursus berikutnya.

Coba sendiri

Pelajaran ini tidak memiliki tantangan kode.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler C++ online