Sebelum kita memahami konsep array dari pointer, mari kita perhatikan contoh berikut, yang menggunakan sebuah array dari 3 bilangan bulat -
#include <stdio.h>
const int MAX = 3;
int main () {
int var[] = {10, 100, 200};
int i;
for (i = 0; i < MAX; i++) {
printf("Value of var[%d] = %d\n", i, var[i] );
}
return 0;
}
Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut -
Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200
Mungkin ada situasi ketika kita ingin mempertahankan sebuah array, yang dapat menyimpan pointer ke int atau arang atau tipe data lain yang tersedia. Berikut ini adalah deklarasi array pointer ke integer -
int *ptr[MAX];
Ini menyatakan ptr sebagai array MAX bilangan bulat pointer. Dengan demikian, setiap elemen dalam ptr, memegang pointer ke nilai int. Contoh berikut ini menggunakan tiga bilangan bulat, yang disimpan dalam sebuah array dari pointer, sebagai berikut -
#include <stdio.h>
const int MAX = 3;
int main () {
int var[] = {10, 100, 200};
int i, *ptr[MAX];
for ( i = 0; i < MAX; i++) {
ptr[i] = &var[i]; /* assign the address of integer. */
}
for ( i = 0; i < MAX; i++) {
printf("Value of var[%d] = %d\n", i, *ptr[i] );
}
return 0;
}
Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut -
Value of var[0] = 10
Value of var[1] = 100
Value of var[2] = 200
Anda juga dapat menggunakan sebuah array dari pointer ke karakter untuk menyimpan daftar string sebagai berikut -
#include <stdio.h>
const int MAX = 4;
int main () {
char *names[] = {
"Zara Ali",
"Hina Ali",
"Nuha Ali",
"Sara Ali",
};
int i = 0;
for ( i = 0; i < MAX; i++) {
printf("Value of names[%d] = %s\n", i, names[i] );
}
return 0;
}
ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut -
Value of names[0] = Zara Ali
Value of names[1] = Hina Ali
Value of names[2] = Nuha Ali
Value of names[3] = Sara Ali
0 komentar:
Posting Komentar