Vous êtes sur la page 1sur 13

Pertemuan 12:

• Struct dalam C
• Pointer dalam C
Structure
 Jika Array adalah sebuah struktur linier yang dapat
menyimpan beberapa data dengan tipe yang sama,
maka structure dapat menyimpan beberapa data
dengan tipe yang berbeda
 Structure digunakan untuk menyimpan sebuah record
 Contoh kasus penyimpanan data buku di
perpustakaan, atribut yang dicatat:
 Judul
 Penulis
 Subyek
 ID Buku
Mendefinisikan Structure
 Menggunakan pernyataan struct. Bentuk umum:
struct [nama_structure] {
definisi_member_1;
definisi_member_2;

definisi_member_n;
};
struct [nama_structure] [nama_variabel_structure];
 Contoh deklarasi structure Books:
struct Books {
char title[50];
char author[50];
char subject[30];
int bookID;
};
struct Books book;
Mengakses Member Structure
 Menggunakan operator “dot” (.)

Format: strcpy(tujuan,sumber)
Output:
Library string.h
Pointer dalam C: Pendahuluan
 Beberapa bagian pemrograman  Contoh code untuk melihat
dalam C lebih mudah dikerjakan alamat memori:
jika menggunakan pointer
 Beberapa bagian lain justru
hanya dapat dikerjakan dengan
pointer, misal: dynamic memory
allocation
 Setiap variabel yang dibuat
dalam program sesungguhnya
berupa lokasi memori, yang
memiliki alamat
 Alamat memori dapat diakses
dengan menggunakan operator Output:
ampersand (&) yang
menyatakan sebuah alamat pada
memori
Pointer dalam C

Output:
Pointer
 Pointer adalah variabel yang isinya adalah alamat dari
variabel lain (alamat/lokasi di dalam memori)
 Bentuk umum deklarasi variabel pointer:
type *var-name;
 Contoh:
int *p1;
float *p2;
char *p3;
 Nilai/isi dari variabel pointer, baik yang bertipe integer, float,
character, atau lainnya, adalah sama, yakni bilangan long
hexadecimal yang mewakili sebuah alamat memori
 Perbedaannya hanyalah pada tipe data dari alamat variabel yang
ditunjuk oleh pointer
NULL Pointer
 Memberikan nilai NULL kepada pointer ketika kita
tidak memiliki alamat apapun untuk dituliskan
merupakan kebiasaan yang baik
 Biasanya hal ini dilakukan pada saat deklarasi variabel
di awal program
Cara lain Menginisialisasi Pointer
 Menggunakan perintah malloc dalam library stdlib.h
 Contoh: int *ptr=malloc(sizeof(int));
 Kode di atas membuat variabel ptr untuk menunjuk ke alamat
memori sebesar ukuran tipe integer, sehingga menjadikan
alamat tersebut tidak dapat diakses oleh program lain
 Seorang programmer yang baik tidak akan lupa untuk
“membebaskan” alamat memori tersebut setelah selesai
digunakan
 Fungsi untuk membebaskan lokasi memori:
free(ptr);
 Setelah membebaskan pointer, sebaiknya variabel di-reset
agar menunjuk ke 0, sehingga pointer menjadi null pointer
Operasi Aritmetik pada Pointer
 Sebuah pointer menyimpan sebuah
alamat, yang merupakan sebuah nilai
numerik, sehingga pada pointer dapat
dilakukan operasi aritmetik
 Operator yang dapat digunakan: ++, --,
+, dan -
Operasi Increment (++)
Output:
Operasi Decrement (--)
Output:

Vous aimerez peut-être aussi