Struktur dalam C: Panduan untuk Pemula

Hai, para pemrogram yang sedang berambisi! Hari ini, kita akan mendalamkan dunia yang menarik tentang struktur dalam C. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya - saya akan memandu Anda melalui perjalanan ini langkah demi langkah, seperti yang saya lakukan bagi banyak siswa selama tahun-tahun pengajaran saya. Jadi, mari kita mulai petualangan ini bersama!

C - Structures

Apa Itu Struktur dalam C?

Bayangkan Anda sedang membuat buku alamat digital. Untuk setiap orang, Anda ingin menyimpan namanya, nomor teleponnya, dan alamat emailnya. Dalam C, sebuah struktur memungkinkan Anda untuk mengelompokkan informasi yang berkaitan ini di bawah satu nama. Itu seperti membuat jenis data khusus yang dapat menampung beberapa jenis data yang berbeda.

Berikut adalah analogi sederhana: pikirkan struktur seperti sebuah tas punggung. Seperti tas punggung yang dapat menampung berbagai jenis barang seperti buku, pensil, dan botol air, struktur dapat menampung jenis data yang berbeda.

Deklarasi (Membuat) Struktur

Mari kita mulai dengan membuat struktur pertamanya. Kami akan menggunakan kata kunci struct untuk ini.

struct Person {
char name[50];
int age;
float height;
};

Dalam contoh ini, kita telah membuat sebuah struktur yang disebut Person. Itu dapat menampung nama (sampai 50 karakter), umur (sebuah integer), dan tinggi (sebuah bilangan pecahan).

Deklarasi Variabel Struktur

Sekarang kita telah menentukan struktur kita, mari kita membuat variabel jenis ini.

struct Person john;

Baris ini membuat variabel bernama john jenis struct Person. Itu seperti mengatakan, "Hey C, berikan saya sebuah tas punggung yang disebut 'john' yang dapat menampung nama, umur, dan tinggi."

Inisialisasi Struktur

Mari kita masukkan beberapa data ke dalam struktur kita:

struct Person john = {"John Doe", 30, 5.9};

Di sini, kita mengisi tas punggung john dengan nama ("John Doe"), umur (30), dan tinggi (5.9).

Mengakses Anggota Struktur

Untuk mengakses atau mengubah data dalam struktur, kita gunakan operator titik (.):

printf("Name: %s\n", john.name);
printf("Age: %d\n", john.age);
printf("Height: %.1f\n", john.height);

john.age = 31;  // Selamat ulang tahun, John!

Kode ini mencetak rincian John dan kemudian memperbarui umurnya. Itu seperti mencapai kantong khusus di tas punggung kita.

Menyalin Struktur

Dalam C, Anda dapat menyalin satu struktur ke yang lain dengan jenis yang sama:

struct Person jane = john;

Ini membuat Person baru bernama jane dengan data yang sama seperti john. Itu seperti membuat salinan tepat dari tas punggung John untuk Jane.

Struktur sebagai Argumen Fungsi

Anda dapat mengirim struktur ke fungsi, seperti jenis data lainnya:

void printPerson(struct Person p) {
printf("Name: %s, Age: %d, Height: %.1f\n", p.name, p.age, p.height);
}

// Penggunaan
printPerson(john);

Fungsi ini mengambil struktur Person dan mencetak isinya. Itu seperti menyerahkan tas punggung Anda ke seseorang agar mereka dapat mengatakan apa yang ada di dalamnya.

Penunjuk ke Struktur

kadang-kadang, lebih efisien untuk menggunakan penunjuk ke struktur, terutama saat berurusan dengan struktur besar:

struct Person *pJohn = &john;
printf("Name: %s\n", (*pJohn).name);
// Atau, lebih umum:
printf("Age: %d\n", pJohn->age);

Operator panah (->) adalah singkatan untuk mendereferensi penunjuk dan mengakses anggota. Itu seperti memiliki peta yang menunjukkan di mana tas punggung Anda berada, daripada membawa tas punggung itu sendiri.

Field Bit

Field bit memungkinkan Anda menentukan jumlah bit yang digunakan untuk anggota struktur:

struct PackedData {
unsigned int flag : 1;
unsigned int data : 31;
};

Struktur ini hanya menggunakan 32 bit memori: 1 bit untuk flag dan 31 bit untuk data. Itu seperti memiliki ruang kecil, khusus di tas punggung Anda untuk item yang sangat kecil.

Tabel Metode

Berikut adalah tabel referensi cepat dari metode yang kita pelajari:

Metode Deskripsi Contoh
Deklarasi Struktur Tentukan struktur baru struct Person { ... };
Deklarasi Variabel Buat variabel jenis struktur struct Person john;
Inisialisasi Tetapkan nilai awal untuk struktur struct Person john = {"John", 30, 5.9};
Akses Anggota Akses atau ubah anggota struktur john.age = 31;
Menyalin Struktur Salin satu struktur ke yang lain struct Person jane = john;
Argumen Fungsi Kirim struktur ke fungsi void printPerson(struct Person p) { ... }
Penunjuk ke Struktur Gunakan penunjuk untuk pengaturan efisien struct Person *pJohn = &john;
Field Bit Tentukan ukuran bit untuk anggota struct PackedData { unsigned int flag : 1; };

Dan itu adalah nya! Kita telah membongkar dasar-dasar struktur dalam C. Ingat, seperti belajar mengatur tas punggung Anda secara efisien, menguasai struktur memerlukan latihan. Jangan frustasi jika itu belum jelas segera - terus kode, terus eksperimen, dan segera Anda akan mengatur data Anda seperti seorang ahli!

Selamat coding, para ahli C masa depan!

Credits: Image by storyset