Menu
CoddyTech

Menginisialisasi struct

Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 42 dari 63.

Meskipun kamu dapat membuat variabel struct lalu menetapkan nilai ke setiap anggotanya satu per satu, C menyediakan cara yang lebih praktis untuk menetapkan nilai awal. Kamu dapat menginisialisasi variabel struct saat deklarasi menggunakan daftar inisialisasi yang diapit tanda kurung kurawal.

Sintaks untuk inisialisasi struct adalah:

struct StructureName variableName = {value1, value2, ...};

Dengan contoh struct Point kita, kamu bisa mendeklarasikan dan menginisialisasinya dalam satu baris yang rapi:

struct Point p1 = {10, 20};

Ini membuat variabel Point bernama p1 dengan x bernilai 10 dan y bernilai 20. Nilai dalam daftar inisialisasi ditetapkan ke anggota struct sesuai urutan deklarasinya dalam definisi struct.

Pendekatan inisialisasi ini tidak hanya lebih ringkas daripada penetapan terpisah, tetapi juga memastikan struct-mu dimulai dengan nilai yang bermakna, bukan data acak yang tidak berguna. Pendekatan ini sangat berguna saat kamu mengetahui nilai awal pada waktu kompilasi dan ingin membuat variabel struct yang siap digunakan secara efisien.

challenge icon

Tantangan

Mudah

Buat program C yang menunjukkan inisialisasi struct menggunakan daftar inisialisasi. Programmu harus:

  1. Mendefinisikan struct bernama Employee dengan anggota berikut:
    • Integer id untuk menyimpan ID karyawan
    • Array karakter department berukuran 15 untuk menyimpan nama departemen
    • Integer yearsOfService untuk menyimpan masa kerja
    • Float salary untuk menyimpan gaji karyawan
  2. Membuat tiga variabel Employee menggunakan daftar inisialisasi dengan data berikut:
    • emp1: ID 101, departemen "Engineering", masa kerja 5 tahun, gaji 75000.50
    • emp2: ID 102, departemen "Marketing", masa kerja 3 tahun, gaji 65000.25
    • emp3: ID 103, departemen "Sales", masa kerja 8 tahun, gaji 80000.75
  3. Mencetak informasi setiap karyawan dengan format persis berikut:
    • Employee 1:
    • ID: [id]
    • Department: [department]
    • Years of Service: [yearsOfService]
    • Salary: [salary]
    • Employee 2:
    • ID: [id]
    • Department: [department]
    • Years of Service: [yearsOfService]
    • Salary: [salary]
    • Employee 3:
    • ID: [id]
    • Department: [department]
    • Years of Service: [yearsOfService]
    • Salary: [salary]
  4. Menghitung dan mencetak total gaji ketiga karyawan dengan format: Total Salary: [total]
  5. Menghitung dan mencetak rata-rata masa kerja dengan format: Average Years of Service: [average]

Tantangan ini menguji pemahamanmu tentang inisialisasi struct menggunakan daftar inisialisasi, yang memungkinkanmu mendeklarasikan dan menginisialisasi variabel struct dalam satu baris. Nilai dalam daftar inisialisasi harus diberikan dengan urutan yang sama seperti urutan deklarasi anggota dalam definisi struct.

Output yang diharapkan:

Employee 1:
ID: 101
Department: Engineering
Years of Service: 5
Salary: 75000.50
Employee 2:
ID: 102
Department: Marketing
Years of Service: 3
Salary: 65000.25
Employee 3:
ID: 103
Department: Sales
Years of Service: 8
Salary: 80000.75
Total Salary: 220001.50
Average Years of Service: 5.33

Coba sendiri

#include <stdio.h>

// TODO: Definisikan struct Employee di sini

int main() {
    // TODO: Buat tiga variabel Employee menggunakan list inisialisasi
    
    // TODO: Cetak informasi setiap karyawan
    
    // TODO: Hitung dan cetak total gaji serta rata-rata masa kerja
    
    return 0;
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C online