Pengekalan (.) Operator dalam C

Hai sana, para ahli pengoding masa depan! Hari ini, kita akan melangsungkan sebuah perjalanan menarik ke dunia programming C, khususnya untuk mengungkap keajaiban operator kecil ini, yaitu operator titik (.) . Jangan khawatir jika Anda baru saja memulai programming; saya akan menjadi panduan ramah Anda, dan kita akan mengatasi topik ini secara bertahap. Jadi, ambil keyboard virtual Anda (tongkat sihir), dan mari kita meluncurkan beberapa mantra C!

C - Dot (.) Operator

Apa Itu Operator Titik (.)?

Operator titik (.) dalam C adalah seperti jembatan kecil yang menghubungkan bagian-bagian berbeda dari kode Anda. Itu digunakan untuk mengakses anggota (variabel atau fungsi) dari struktur dan uni. Bayangkan itu sebagai kunci yang membuka berbagai kamar di peti harta kode Anda.

Sebuah Analogi Sederhana

Bayangkan Anda memiliki sebuah tas punggung (itu adalah struktur Anda) dengan berbagai saku (itu adalah anggota Anda). Operator titik adalah seperti tangan Anda mencapai saku tertentu untuk mengambil apa yang Anda butuhkan. Mudah, kan?

Menggunakan Operator Titik (.)

Mari kita mulai dengan contoh dasar untuk melihat bagaimana operator titik bekerja dalam praktik.

#include <stdio.h>
#include <string.h>

struct Student {
char name[50];
int age;
float gpa;
};

int main() {
struct Student alice;

// Menggunakan operator titik untuk mengakses dan memberikan nilai
strcpy(alice.name, "Alice");
alice.age = 20;
alice.gpa = 3.8;

// Menggunakan operator titik untuk mengakses dan mencetak nilai
printf("Name: %s\n", alice.name);
printf("Age: %d\n", alice.age);
printf("GPA: %.2f\n", alice.gpa);

return 0;
}

Dalam contoh ini, kita membuat sebuah struktur Student dengan tiga anggota: name, age, dan gpa. Kemudian kita menggunakan operator titik untuk mengakses anggota ini dan memberikan nilai kepadanya. Kemudian kita menggunakan itu lagi untuk mengambil dan mencetak nilai.

Operator Titik (.) Dengan Struktur (struct)

Struktur adalah seperti jenis data khusus yang dapat Anda buat sendiri untuk menyimpan jenis data berbeda. Operator titik adalah alat andalan Anda untuk bekerja dengan struktur ini.

#include <stdio.h>
#include <string.h>

struct Book {
char title[100];
char author[50];
int year;
};

int main() {
struct Book myFavoriteBook;

// Memberikan nilai menggunakan operator titik
strcpy(myFavoriteBook.title, "The C Programming Language");
strcpy(myFavoriteBook.author, "Brian Kernighan and Dennis Ritchie");
myFavoriteBook.year = 1978;

// Mencetak nilai menggunakan operator titik
printf("My favorite book:\n");
printf("Title: %s\n", myFavoriteBook.title);
printf("Author: %s\n", myFavoriteBook.author);
printf("Year: %d\n", myFavoriteBook.year);

return 0;
}

Di sini, kita menggunakan operator titik untuk bekerja dengan struktur Book. Itu seperti mengisi formulir pustaka untuk buku favorit Anda!

Operator Titik (.) Dengan Union

Union adalah mirip dengan struktur, tetapi dengan perbedaan - mereka memungkinkan Anda menyimpan jenis data berbeda di tempat yang sama di memori. Operator titik bekerja dengan union sama seperti dia bekerja dengan struktur.

#include <stdio.h>

union Data {
int i;
float f;
char str[20];
};

int main() {
union Data data;

data.i = 10;
printf("data.i: %d\n", data.i);

data.f = 220.5;
printf("data.f: %.2f\n", data.f);

strcpy(data.str, "C Programming");
printf("data.str: %s\n", data.str);

return 0;
}

Dalam contoh ini, kita menggunakan operator titik untuk mengakses anggota berbeda dari union. Ingat, dalam union, hanya satu anggota yang dapat menyimpan nilai pada saat yang sama!

Operator Titik (.) Dengan Struktur Tertanam

kadang-kadang, kita perlu membuat struktur data yang lebih kompleks dengan menanam satu struktur di dalam yang lain. Operator titik membantu kita menavigasi melalui struktur ini.

#include <stdio.h>

struct Date {
int day;
int month;
int year;
};

struct Employee {
char name[50];
struct Date birthdate;
float salary;
};

int main() {
struct Employee emp;

strcpy(emp.name, "John Doe");
emp.birthdate.day = 15;
emp.birthdate.month = 8;
emp.birthdate.year = 1990;
emp.salary = 50000.0;

printf("Employee Details:\n");
printf("Name: %s\n", emp.name);
printf("Birthdate: %d/%d/%d\n", emp.birthdate.day, emp.birthdate.month, emp.birthdate.year);
printf("Salary: $%.2f\n", emp.salary);

return 0;
}

Di sini, kita menggunakan operator titik untuk mengakses anggota struktur Date yang tertanam dalam struktur Employee. Itu seperti membuka kotak di dalam kotak!

Mengakses Anggota Menggunakan Operator Panah (->)

Sekarang, mari kita kenalkan saudara dekat operator titik: operator panah (->). Operator ini digunakan saat bekerja dengan pointer ke struktur.

#include <stdio.h>
#include <stdlib.h>

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

int main() {
struct Person *personPtr;
personPtr = (struct Person*) malloc(sizeof(struct Person));

// Menggunakan operator panah dengan pointer
strcpy(personPtr->name, "Bob");
personPtr->age = 30;

printf("Person Details:\n");
printf("Name: %s\n", personPtr->name);
printf("Age: %d\n", personPtr->age);

free(personPtr);
return 0;
}

Dalam contoh ini, kita menggunakan operator panah untuk mengakses anggota struktur melalui pointer. Itu seperti menggunakan remote kontrol (pointer) untuk mengakses fungsi TV (struktur) Anda!

Mengakses Elemen Dalam Struktur Tertanam Inner

Mari kita masuk lebih dalam ke struktur yang tertanam dan lihat bagaimana kita bisa mengakses elemen paling dalam.

#include <stdio.h>

struct Address {
char street[100];
char city[50];
char country[50];
};

struct Student {
char name[50];
int id;
struct Address addr;
};

int main() {
struct Student s1;

strcpy(s1.name, "Emma Watson");
s1.id = 12345;
strcpy(s1.addr.street, "123 Hogwarts Lane");
strcpy(s1.addr.city, "London");
strcpy(s1.addr.country, "UK");

printf("Student Details:\n");
printf("Name: %s\n", s1.name);
printf("ID: %d\n", s1.id);
printf("Address: %s, %s, %s\n", s1.addr.street, s1.addr.city, s1.addr.country);

return 0;
}

Dalam contoh ini, kita menggunakan operator titik untuk mengakses elemen paling dalam dari struktur yang tertanam. Itu seperti menemukan halaman tertentu (jalan) dalam bab (kota) dari buku (negara) di pustaka (mahasiswa)!

Dan itu adalah, para pemula! Kita telah mengungkap dunia menakjubkan operator titik dalam C. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba konsep ini. Selamat coding, dan may the dots be with you!

Credits: Image by storyset