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 menggunakan data yang tersimpan di dalamnya. Operator titik (.) adalah kunci untuk mengakses dan mengubah setiap anggota dari 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 nilai ke anggota struct
p1.x = 10;
p1.y = 20;
// Membaca nilai dari anggota struct
printf("Point coordinates: (%d, %d)\n", p1.x, p1.y);Operator titik bekerja sama persis seperti mengakses variabel lainnya: kamu dapat menggunakannya dalam assignment, operasi aritmetika, pemanggilan fungsi, atau di mana pun kamu akan menggunakan variabel biasa dengan tipe tersebut. Setiap anggota berperilaku sebagai variabel mandiri dengan tipe yang dideklarasikan, sehingga kamu dapat mengelola data struct secara teratur dan intuitif.
Tantangan
MudahBuat program C yang menunjukkan cara mengakses dan mengubah anggota struct menggunakan operator titik. Programmu harus:
- Mendefinisikan
structbernamaCardengan anggota berikut:- Integer
yearuntuk menyimpan tahun pembuatan - Array karakter
brandberukuran 20 untuk menyimpan merek mobil - Integer
mileageuntuk menyimpan jarak tempuh saat ini - Float
priceuntuk menyimpan harga mobil
- Integer
- Membuat variabel
CarbernamamyCar - Membaca nilai input berikut dan menetapkannya ke anggota struct menggunakan operator titik:
- Membaca integer untuk tahun dan menetapkannya ke
myCar.year - Membaca string untuk merek dan menetapkannya ke
myCar.brand - Membaca integer untuk jarak tempuh dan menetapkannya ke
myCar.mileage - Membaca float untuk harga dan menetapkannya ke
myCar.price
- Membaca integer untuk tahun dan menetapkannya ke
- Setelah membaca semua nilai, lakukan operasi berikut:
- Menambah jarak tempuh sebesar 1000 menggunakan
myCar.mileage += 1000; - Mengurangi harga sebesar 500.0 menggunakan
myCar.price -= 500.0;
- Menambah jarak tempuh sebesar 1000 menggunakan
- Mencetak informasi mobil menggunakan operator titik untuk mengakses setiap anggota dengan 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 harus berupa:
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: Tampilkan detail mobil menggunakan operator titik
printf("Car Details:\n");
// Tampilkan 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