Mengakses Anggota struct
Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 41 dari 63.
Sekarang kamu sudah bisa membuat variabel struct, kamu perlu belajar cara bekerja dengan data yang tersimpan di dalamnya. Operator titik (.) adalah kunci untuk mengakses dan mengubah setiap anggota variabel struct.
Sintaks untuk mengakses anggota struct cukup sederhana:
structVariable.memberNameDengan contoh struct Point kita, kamu bisa membaca dan menulis anggotanya:
struct Point p1;
// Menulis ke anggota struct
p1.x = 10;
p1.y = 20;
// Membaca dari anggota struct
printf("Point coordinates: (%d, %d)\n", p1.x, p1.y);Operator titik bekerja persis seperti mengakses variabel lainnya: kamu bisa menggunakannya dalam penugasan, operasi aritmetika, pemanggilan fungsi, atau di mana pun kamu menggunakan variabel biasa dengan tipe tersebut. Setiap anggota berperilaku sebagai variabel mandiri dengan tipe yang dideklarasikan, sehingga kamu bisa mengelola data struct secara teratur dan intuitif.
Tantangan
MudahBuat program C yang menunjukkan cara mengakses dan mengubah anggota struct menggunakan operator titik. Programmu harus:
- Definisikan
structbernamaCardengan anggota berikut:- Bilangan bulat
yearuntuk menyimpan tahun pembuatan - Array karakter
brandberukuran 20 untuk menyimpan merek mobil - Bilangan bulat
mileageuntuk menyimpan jarak tempuh saat ini - Bilangan float
priceuntuk menyimpan harga mobil
- Bilangan bulat
- Buat variabel
CarbernamamyCar - Baca nilai input berikut dan tetapkan ke anggota struct menggunakan operator titik:
- Baca bilangan bulat untuk tahun dan tetapkan ke
myCar.year - Baca string untuk merek dan salin ke
myCar.branddenganstrcpy()(array tidak dapat ditetapkan dengan=) - Baca bilangan bulat untuk jarak tempuh dan tetapkan ke
myCar.mileage - Baca bilangan float untuk harga dan tetapkan ke
myCar.price
- Baca bilangan bulat untuk tahun dan tetapkan ke
- Setelah membaca semua nilai, lakukan operasi berikut:
- Tambah jarak tempuh sebanyak 1000 menggunakan
myCar.mileage += 1000; - Kurangi harga sebanyak 500.0 menggunakan
myCar.price -= 500.0;
- Tambah jarak tempuh sebanyak 1000 menggunakan
- Cetak informasi mobil dengan menggunakan operator titik untuk mengakses setiap anggota dalam format persis berikut:
Car Details:Year: [year]Brand: [brand]Mileage: [mileage]Price: [price]
Tantangan ini menguji pemahamanmu tentang operator titik untuk membaca dan menulis anggota struct. Kamu akan berlatih menetapkan nilai ke anggota struct, melakukan operasi aritmetika pada anggota tersebut, dan mengaksesnya untuk output.
Contohnya, jika inputnya adalah:
2020
Toyota
50000
25000.50Outputmu seharusnya:
Car Details:
Year: 2020
Brand: Toyota
Mileage: 51000
Price: 24500.50Coba sendiri
#include <stdio.h>
#include <string.h>
// TODO: Definisikan struct Car di sini
int main() {
// TODO: Buat variabel Car bernama myCar
// Baca nilai input
int year;
char brand[20];
int mileage;
float price;
scanf("%d", &year);
scanf("%s", brand);
scanf("%d", &mileage);
scanf("%f", &price);
// TODO: Tetapkan nilai input ke anggota struct menggunakan operator titik
// TODO: Ubah mileage dan price sesuai ketentuan
// TODO: Cetak detail mobil menggunakan operator titik
printf("Car Details:\n");
// Cetak Year, Brand, Mileage, dan Price di sini
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Dasar-Dasar Pointer
Apa Itu Pointer?Mendeklarasikan PointerOperator Address-Of (&)Operator Dereference (*)Pointer NULLRekap: Dasar-Dasar Pointer4Proyek: Utilitas Teks Sederhana
Gambaran Umum ProyekMenghitung Karakter7Struktur (struct)
Apa Itu struct?Mendeklarasikan structMembuat Variabel structMengakses Anggota structMenginisialisasi structRingkasan: struct Data Siswa2Pointer dan array
Nama array sebagai pointerElemen array dan pointerAritmetika pointerMembandingkan pointerRangkuman: Menelusuri array dengan pointer5Pointer dan Fungsi
Penerusan dengan NilaiMeneruskan Pointer ke FungsiMengubah Variabel melalui PointerContoh Klasik: SwapMeneruskan Array ke FungsiRingkasan: Argumen Pointer Fungsi8Struct dan Pointer
Pointer ke StructOperator Panah (->)Mengirim Struct berdasarkan NilaiMengirim Pointer StructAlokasi Dinamis StructUlasan: Memodifikasi Struct dengan Pointer11Tantangan Rangkuman Akhir
Rangkuman: Penggabungan string DinamisRangkuman: array berisi structRangkuman: Penghitung Frekuensi Kata3Array char dan String
String sebagai array charPenanda akhir nullInput String dengan scanfMenggunakan strlen()Menggunakan strcpy()Menggunakan strcat()Menggunakan strcmp()Ulasan: Fungsi String DasarLatihan sendiri: Compiler C online