Sesi 12 Pointers and Arrays
Pointer adalah sebuah variabel yang menyimpan alamat variabel lain
Array adalah data disimpan dalam struktur tertentu untuk diakses sebagai grup atau individual. Beberapa variabel yang disimpan menggunakan nama yang sama dibedakan oleh indeks mereka.
Pointer ada 2 jenis yaitu:
1. * : content of (maksudnya adalah mengeluarkan data yang telah disimpan di memory)
* (single pointer)
** (double pointer)
dst.
contoh penggunaan * dan &
1. Penggunaan *
int angka1=3;
int *angka2;
angka2 = &angka1;
printf("%d",*angka2);
jadi, print yang keluar adalah 3
2. Penggunaan &
int angka1=3;
int *angka2;
angka2 = &angka1;
printf("%d",angka2);
jadi, print yang keluar adalah lokasi memory angka 1 yang tersimpan
akan tetapi, jika kondisi kodingnya begini :
Array adalah data disimpan dalam struktur tertentu untuk diakses sebagai grup atau individual. Beberapa variabel yang disimpan menggunakan nama yang sama dibedakan oleh indeks mereka.
Pointer ada 2 jenis yaitu:
1. * : content of (maksudnya adalah mengeluarkan data yang telah disimpan di memory)
* (single pointer)
** (double pointer)
dst.
2. & : address of (maksudnya adalah data akan disimpan di memory mana. contohnya pada scanf)
contoh penggunaan * dan &
1. Penggunaan *
int angka1=3;
int *angka2;
angka2 = &angka1;
printf("%d",*angka2);
jadi, print yang keluar adalah 3
2. Penggunaan &
int angka1=3;
int *angka2;
angka2 = &angka1;
printf("%d",angka2);
jadi, print yang keluar adalah lokasi memory angka 1 yang tersimpan
akan tetapi, jika kondisi kodingnya begini :
int angka1=3;
int *angka2;
int **angka3;
int ***angka4;
angka2 = &angka1;
angka3 = &angka2;
angka4 = &angka3;
*angka2 = 10;
printf("%d",angka1);
output yang keluar adalah 10, karena angka2 telah terganti 10 duluan, maka yang lainnya otomatis terganti karena angka3=angka2 dan angka4=angka3
output yang keluar adalah 10, karena angka2 telah terganti 10 duluan, maka yang lainnya otomatis terganti karena angka3=angka2 dan angka4=angka3
Array ada beberapa dimensi yaitu:
1. Array 1 dimensi
char nama[101];
2. Array 2 dimensi
int absen[3][11];
baris x kolom
3. Array 3 dimensi
int nilai[10][15][20];
panjang x lebar x tinggi
Array dimulai dari angka 0 dan diakhiri "\0"
jadi misalnya int nilai[3] dia akan berisi {0,1,2,3} saja walaupun seharusnya jika mulai dari 0 dapat menyimpan 4 tetapi kita hanya dapat menyimpan hingga 3, dikarenakan di paling akhir ada "\0"
contohnya :
int nilai[3];
int nilai[3] = {1,3,5};
printf(%d", nilai[0]); //maka akan keluar 1
printf(%d", nilai[1]); //maka akan keluar 3
printf(%d", nilai[2]); //maka akan keluar 5
printf(%d", nilai[3]); //maka akan keluar 0, karena diujung array pasti berisi "\0" jadi outputnya menjadi 0
Comments
Post a Comment