C - Sifat Array

Selamat datang, para pemrogram masa depan! Hari ini, kita akan melihat dunia yang menarik tentang array dalam C. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya sangat gembira untuk mengantar Anda dalam perjalanan ini. Mari kita bongkar 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 jenis yang sama. Bayangkan Anda memiliki sebuah kotak apel - Anda tidak akan memasukkan jeruk atau pisang di sana, kan? Itu betul cara kerja array dalam C!

mari kita lihat contoh sederhana:

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

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

Alokasi Memori Bertumpuk

Sekarang, mari kita lihat sesuatu yang menarik tentang array - mereka disimpan di memori satu setelah yang lain, seperti baris gantung. Ini adalah apa yang kita sebut "alokasi memori bertumpuk".

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 tetap. Setelah Anda mendeklarasikan ukurannya, itu seperti batu. Anda tidak bisa tiba-tiba menambahkan kamar atau menghapusnya.

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

Panjang Bergantung pada Tipe

Total memori yang digunakan oleh array bergantung pada jenis 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, mulai dari 0. Itu seperti nomor rumah di jalan, tetapi 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 sahabat 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 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("Melewati batas atas: %d\n", numbers[5]);

Array Multi-dimensi

Array dapat memiliki banyak dimensi, seperti papan catur atau kubus 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!

mari kita lihat 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 rangkum metode kunci yang kita diskusikan dalam tabel praktis:

Metode Deskripsi Contoh
Deklarasi Deklarasikan array int numbers[5];
Inisialisasi Inisialisasi array int numbers[5] = {10, 20, 30, 40, 50};
Mengakses elemen Akses elemen dengan indeks numbers[2]
Mendapatkan ukuran array Mendapatkan 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 kotak pemrograman Anda. Mereka mungkin tampak sulit pada awalnya, tetapi dengan latihan, Anda akan menjadi ahli array dalam waktu singkat! (Maaf, saya tidak bisa menahan untuk sedikit humor pemrogram.)

Terus kode, terus belajar, dan terutama, bersenang-senang! Array hanya permulaan perjalanan Anda yang menarik ke dalam dunia pemrograman C. Selamat coding!

Credits: Image by storyset