Panduan Mesin C - Operator Pelengkap: Panduan Ramah untuk Pemula

Hai teman-teman, para pemrogram masa depan! Hari ini, kita akan mengemban perjalanan menarik melalui dunia operator pelengkap C. Jangan khawatir jika Anda baru saja memulai programming - saya akan menjadi panduan ramah Anda, menjelaskan segala sesuatu secara langkah demi langkah. mari kita masuk ke dalamnya!

C - Misc Operators

Operator sizeof di C

Imaginasi Anda sedang memesan untuk perjalanan, dan Anda ingin mengetahui berapa banyak ruang yang ditempati oleh setiap item. Itu sebenarnya apa yang dilakukan operator sizeof di C - itu memberitahu kita ukuran hal-hal dalam program kita!

Operator sizeof mengembalikan ukuran (dalam byte) dari operannya. Berikut cara Anda bisa menggunakannya:

#include <stdio.h>

int main() {
int number = 42;
char letter = 'A';

printf("Ukuran int: %zu byte\n", sizeof(int));
printf("Ukuran char: %zu byte\n", sizeof(char));
printf("Ukuran variabel number: %zu byte\n", sizeof(number));
printf("Ukuran variabel letter: %zu byte\n", sizeof(letter));

return 0;
}

Ketika Anda menjalankan kode ini, Anda akan melihat sesuatu seperti ini:

Ukuran int: 4 byte
Ukuran char: 1 byte
Ukuran variabel number: 4 byte
Ukuran variabel letter: 1 byte

Seperti yang Anda lihat, sizeof bisa digunakan baik untuk tipe data maupun variabel. Itu sangat berguna ketika Anda perlu mengetahui secara tepat berapa banyak memori data Anda sedang menggunakan!

Operator Alamat di C

Sekarang, mari bicarakan tentang operator alamat, yang diwakili oleh ampersand (&). Berikan perhatian kepada komputer Anda ingatan seperti gedung apartemen besar. Setiap apartemen (lokasi memori) memiliki alamatnya sendiri. Operator & membantu kita menemukan alamat-alamat ini!

Berikut contoh sederhana:

#include <stdio.h>

int main() {
int age = 25;
printf("Nilai age: %d\n", age);
printf("Alamat age: %p\n", (void*)&age);

return 0;
}

Ini akan mengeluarkan sesuatu seperti ini:

Nilai age: 25
Alamat age: 0x7ffd5e7e9994

Alamat yang tepat akan berbeda pada komputer Anda, tetapi Anda mendapat ide nya!

Operator Dereferensi di C

Jika operator alamat (&) tentang menemukan di mana sesuatu tinggal, operator dereferensi (*) tentang mengunjungi alamat itu dan melihat apa yang ada di sana. Itu seperti mengatakan, "Saya punya alamat ini, apa yang didalamnya?"

mari lihatnya dalam aksi:

#include <stdio.h>

int main() {
int cookies = 5;
int *p_cookies = &cookies;

printf("Nilai cookies: %d\n", cookies);
printf("Alamat cookies: %p\n", (void*)&cookies);
printf("Nilai p_cookies: %p\n", (void*)p_cookies);
printf("Nilai di *p_cookies: %d\n", *p_cookies);

return 0;
}

Output:

Nilai cookies: 5
Alamat cookies: 0x7ffd5e7e9994
Nilai p_cookies: 0x7ffd5e7e9994
Nilai di *p_cookies: 5

Lihat bagaimana *p_cookies memberikan kita nilai yang disimpan di alamat yang ditunjuk oleh p_cookies? Itu adalah dereferensi dalam aksi!

Operator Ternary di C

Operator ternary mirip dengan pernyataan if-else singkat. Itu sempurna untuk saat Anda ingin menetapkan nilai berdasarkan kondisi. Berikut sintaksenya:

kondisi ? nilai_jika_benar : nilai_jika_salah

mari lihat contohnya:

#include <stdio.h>

int main() {
int age = 20;
char *status = (age >= 18) ? "dewasa" : "anak";

printf("Pada umur %d, Anda adalah seorang %s.\n", age, status);

return 0;
}

Output:

Pada umur 20, Anda adalah seorang dewasa.

Apakah itu menarik? Itu seperti menanyakan pertanyaan dan mendapatkan salah satu dari dua jawaban kemungkinan!

Operator Dot di C

Operator titik digunakan untuk mengakses anggota dari struktur. Berikan perhatian kepada struktur seperti wadah yang dapat menahan banyak item dari jenis yang berbeda.

Berikut contoh:

#include <stdio.h>

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

int main() {
struct Person john = {"John Doe", 30};

printf("Nama: %s\n", john.name);
printf("Umur: %d\n", john.age);

return 0;
}

Output:

Nama: John Doe
Umur: 30

Kita menggunakan operator titik untuk mengakses name dan age dari struktur Person.

Operator Indireksi di C

Operator indireksi sebenarnya sama seperti operator dereferensi (*) yang kita diskusikan sebelumnya. Itu disebut "indireksi" karena memungkinkan kita mengakses nilai secara tidak langsung melalui pointer.

Berikut contoh yang sedikit lebih kompleks:

#include <stdio.h>

int main() {
int x = 10;
int *p = &x;
int **pp = &p;

printf("Nilai x: %d\n", x);
printf("Nilai *p: %d\n", *p);
printf("Nilai **pp: %d\n", **pp);

return 0;
}

Output:

Nilai x: 10
Nilai *p: 10
Nilai **pp: 10

Di sini, kita menggunakan beberapa tingkat indireksi. pp adalah pointer ke pointer!

Dan itu saja! Kita telah menutup semua operator pelengkap di C. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba operator ini dalam kode Anda sendiri. Selamat coding!

Credits: Image by storyset