C - Properti Array

Selamat datang, para programer masa depan! Hari ini, kita akan mempelajari dunia yang menarik tentang array dalam C. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya sangat antusias untuk mengantar Anda dalam perjalanan ini. Mari kita membongkar misteri array bersama!

C - Properties of Array

Koleksi Tipe Data Yang Sama

Array dalam C adalah seperti kotak yang terorganisir tempat kita dapat menyimpan banyak item dengan tipe yang sama. Bayangkan Anda memiliki sebuah kotak yang berisi jeruk - Anda tidak akan memasukkan jeruk atau pisang di dalamnya, kan? Itu betul cara kerja array dalam C!

Mari kita lihat contoh sederhana:

int numbers[5] = {10, 20, 30, 40, 50};

Di sini, kita telah membuat array bernama numbers yang dapat menampung 5 integer. Itu seperti memiliki 5 slot, masing-masing berisi sebuah nomor.

Alokasi Memori Berturut-Turut

Sekarang, mari kita lihat sesuatu yang menarik tentang array - mereka disimpan di memori satu setelah lain, seperti barisan domino. Ini adalah apa yang kita sebut "alokasi memori berturut-turut".

Mari kita visualisasikan:

int numbers[5] = {10, 20, 30, 40, 50};

printf("Alamat elemen pertama: %p\n", (void*)&numbers[0]);
printf("Alamat elemen kedua: %p\n", (void*)&numbers[1]);

Ketika Anda menjalankan ini, Anda akan melihat bahwa alamatnya sangat dekat satu sama lain!

Ukuran Tetap

Array dalam C adalah seperti hotel dengan jumlah kamar yang tetap. Setelah Anda mendeklarasikan ukurannya, itu seperti dituliskan di batu. Anda tidak dapat tiba-tiba menambahkan kamar atau menghapusnya.

int fixed_array[10];  // Array ini selalu akan memiliki 10 elemen

Panjang Tergantung pada Tipe

Total memori yang digunakan oleh array tergantung pada tipe dan ukurannya. Itu seperti jenis buah yang berbeda memakan ruang berbeda dalam sebuah kotak.

int int_array[5];     // Mengambil 5 * sizeof(int) byte
char char_array[5];   // Mengambil 5 * sizeof(char) byte

printf("Ukuran int_array: %lu byte\n", sizeof(int_array));
printf("Ukuran char_array: %lu byte\n", sizeof(char_array));

Pengindeksan

Array menggunakan pengindeksan untuk mengakses elemen, dimulai dari 0. Itu seperti nomor rumah di jalan, tapi kita mulai dengan nomor rumah 0 bukan 1.

int numbers[5] = {10, 20, 30, 40, 50};
printf("Elemen ketiga: %d\n", numbers[2]);  // Mencetak 30

Hubungan Pointer

Array dan pointer adalah teman terbaik dalam C. Nama array sebenarnya adalah pointer ke elemen pertamanya!

int numbers[5] = {10, 20, 30, 40, 50};
int *ptr = numbers;  // ptr sekarang menunjuk ke elemen pertama numbers

printf("Elemen pertama menggunakan notasi array: %d\n", numbers[0]);
printf("Elemen pertama menggunakan pointer: %d\n", *ptr);

Batas Bawah dan Atas

Array memiliki batas - batas bawah ( biasanya 0) dan batas atas (ukuran - 1). Melampaui batas ini seperti mencoba memarkir di tempat parkir yang tidak ada!

int numbers[5] = {10, 20, 30, 40, 50};
printf("Elemen pertama (batas bawah): %d\n", numbers[0]);
printf("Elemen terakhir (batas atas): %d\n", numbers[4]);

// Peringatan: Ini berbahaya!
// printf("Melebihi batas atas: %d\n", numbers[5]);

Array Multi-dimensi

Array dapat memiliki beberapa dimensi, seperti papan catur atau kubik Rubik!

int matrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};

printf("Elemen di baris 1, kolom 2: %d\n", matrix[1][2]);  // Mencetak 6

Implementasi Struktur Data Kompleks

Array adalah blok bangunan untuk struktur data yang lebih kompleks. Mereka seperti blok LEGO yang kita dapat gunakan untuk membangun hal yang menakjubkan!

Ini adalah contoh sederhana penggunaan array untuk mengimplementasikan stack:

#define MAX_SIZE 100

int stack[MAX_SIZE];
int top = -1;

void push(int x) {
if (top < MAX_SIZE - 1) {
stack[++top] = x;
}
}

int pop() {
if (top >= 0) {
return stack[top--];
}
return -1;  // Stack underflow
}

// Penggunaan
push(10);
push(20);
printf("Dikeluarkan: %d\n", pop());  // Mencetak 20

Sekarang, mari kita ringkaskan metode kunci yang kita diskusikan dalam tabel yang mudah digunakan:

Metode Deskripsi Contoh
Deklarasi Deklarasikan array int numbers[5];
Inisialisasi Inisialisasikan array int numbers[5] = {10, 20, 30, 40, 50};
Mengakses elemen Akses elemen dengan indeks numbers[2]
Mendapatkan ukuran array Dapatkan ukuran array sizeof(numbers) / sizeof(numbers[0])
Akses pointer Akses elemen menggunakan aritmetik pointer *(numbers + 2)
Array multi-dimensi Buat dan akses array multi-dimensi matrix[1][2]

Ingat, array adalah alat yang kuat dalam set alat programming Anda. Mereka mungkin terlihat sulit pada awalnya, tapi dengan latihan, Anda akan menjadi ahli array dalam waktu singkat! (Maaf, saya tidak bisa menahan untuk sedikit humor programer sana!)

Terus coding, terus belajar, dan yang paling penting, bersenang-senang! Array hanya permulaan perjalanan Anda ke dunia programming C. Selamat coding!

Credits: Image by storyset