Struct adalah sebuah tipe data yang menyimpan banyak tipe data yang berbeda.
Deklarasi struct:
struct nama_tipe_data
{
data_type variable_name;
data_type2 variable_name2;
.....
} nama_struct;
struct data
{
int age;
char name[20];
}mhs;
Struct dapat juga berupa array(Array of Structure), sebagai contoh:
struct data
{
int age;
char name[20];
}mhs[20]; // dapat muat 20 data yang berisi age dan name
Inisialisasi struct dapat dilakukan secara global dan secara local
Secara global:
struct data
{
int age;
char name[20];
}mhs[20];
int main()
{
.....
}
Secara local
struct data
{
int age;
char name[20];
};
int main()
{
struct data mhs[20];
.....
}
ATAU
int main()
{
struct data
{
int age;
char name[20];
}mhs[20];
.....
}
Nested Structure
Adalah struct di dalam struct. Sebagai contoh:
struct dataLahir
{
int date;
int month;
int year;
char tempatLahir[20];
}
struct biodata
{
char nama[20];
int age;
struct dataLahir data; // struct dataLahir dalam struct biodata
}
int main()
{
struct biodata mahasiswa[20];
......
}
Accessing array
Untuk mengakses array, digunakan "." untuk mengakses isi dari array
Untuk menyatakan nilai pada string, digunakan library string.h, function strcpy;
Contoh:
#include<stdio.h>
#include<string.h>
struct data
{
int age;
char name[20];
}mhs;
int main()
{
strcpy(mhs.name,"Adit");
mhs.age = 19;
printf("%s %d\n",mhs.name, mhs.age);
}
Output :
Adit 19
Akses array of structure
Contoh:
struct data
{
int age;
char name[20];
}mhs[20];
int main()
{
strcpy(mhs[0].name,"Adit");
mhs[0].age = 19;
strcpy(mhs[1].name,"Lili");
mhs[1].age = 17;
strcpy(mhs[2].name,"Jojo");
mhs[2].age = 18;
for(int i = 0 ; i < 3 ; i++)
{
printf("%s %d\n",mhs[i].name, mhs[i].age); // mengakses array mahasiswa ke i, bagian name
// mengakses array mahasiswa ke i, bagian age
}
return 0;
}
Output:
Adit 19
Lili 17
Jojo 18
No comments:
Post a Comment