29 Oktober 2015
– Pointer adalah variabel yang menyimpan alamat dari variabel lain
– Sintaks : <jenis>*ptr_name;
- Dua operator besar digunakan dalam pointer: * (isi) dan & (alamat)
- Contoh: Menginisialisasi pointer integer menjadi variabel data yang:
int i, * ptr;
ptr = & i;
– Untuk menetapkan nilai baru untuk variabel ditunjukkan oleh pointer:
* ptr = 5; / * Berarti i = 5 * /
- Pointer ke pointer adalah variabel yang menyimpan alamat lain pointer
- Sintaks:
<Jenis> ** ptr_ptr;
- Contoh:
int i, * ptr, ** ptr_ptr;
ptr = & i;
ptr_ptr = & ptr;
Untuk menetapkan nilai baru untuk i:
* ptr = 5; // berarti i = 5;
** ptr_ptr = 9; // Berarti = 9; atau * ptr = 9;
– Array Definition :
- Data disimpan dalam struktur tertentu untuk diakses sebagai sebuah kelompok atau secara individu. Beberapa variabel disimpan menggunakan nama yang sama membedakan dengan indeks mereka.
- Karakteristik Array:
- Homogen : Semua elemen memiliki tipe data yang sama
- Akses acak : Setiap elemen dapat dicapai secara individually, tidak harus berurutan
- Syntax : type array_value [value_dim];
– Element array di indeksi mulai dari 0
contoh : A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9]
– Array dapat diinisialisasi secara explicitly tanpa nilai dimensi deklarasi
Contoh: int B [] = {1, 2, -4, 8};
Array B memiliki 4 elemen
Contoh: int B [8] = {1, 2, -4, 8};
– Mengakses Array
Dua cara analog mengakses elemen i = 2;
* (A + 2) atau A [2]
- & A [0] (pointer konstan ke elemen pertama dari array tertentu)
- Untuk menunjukkan A [2] pada layar monitor :
printf (â € œ% da €, A [2]) atau
printf (â € œ% d \ na €, * (A + 2));
– Pointer Konstan & Pointer Variabel
- Variabel pointer adalah pointer yang dapat diberikan dengan nilai baru pada saat run-time.
- Pointer konstan adalah pointer yang tidak dapat ditetapkan dengan nilai baru pada run-time
- Array adalah Pointer Konstan untuk elemen pertama dari array. Array dapat diisi dengan variabel pointer.
- Contoh:
- int x = 10, y = 20;
- int * ptr; // ptr adalah variabel pointer
- ptr = & x;
- ptr = & y;
– Mengakses Array
- Mengakses array menggunakan pointer
int arr [10];
int * ptr_arr;
ptr_arr = arr; // atau ptr_arr = & arr [0];
- Untuk mengakses elemen tertentu dapat dilakukan dengan menggunakan:
ptr_arr [i];
arr [i];
* (ptr_arr + i);
* (arr + i);
ptr_arr = ptr_arr + i; * ptr_arr;
– Array terdiri dari 1 dimensi, 2 dimensi dan 3 dimensi
Syntax 2D Array: menggunakan RMO (baris perintah utama)
type name_array[row][col];
Syntax 3D Array :
type name_array[row][col][depth];
– C compiler tidak membatasi jumlah dimensi yang dapat dibuat. Memori PC kita tidak.
– Array pointer (diisi dengan pointer/s)
Syntax :
type *array_name [value_dim];
– Array karakter (array penuh dengan karakter /s
Syntax:
char array_name[value_dim];
– String
- String adalah array dari karakter yang berakhir dengan karakter null (‘’ or in ASCII = 0)
- String konstan atau string literal adalah beberapa karakter yang ditulis antara double quote
- Contoh: ”Welcome to Binus”
- String jenis konstan pointer konstan, sehingga dapat ditugaskan ke array karakter:
- Example :
char name[40] = ”Amir”; //ok
name = ”Amir”; // error name is a constant pointer
Name[40]= “Amir”; //error - Sebuah String Constant dapat dihubungkan pada waktu kompilasi:
- ”Hello,” ” world”
Similar to:
”Hello, world” - Contoh string inisialisasi:
- char s[ ] = ”BiNus”;
Similar to :
char s[ ] = {’B’,’i’,’N’,’u’,’s’,’’}; - String sebagai tipe data tidak dikenal di C
– Char vs String
- Karakter di c ditulis antara kutip tunggal. Masing-masing menggunakan satu byte dari memori komputer
- Example:
char ch=’A’;
char ch=65; //Ascii
char ch=0x41; //Ascii - String ditulis dalam antara kutip ganda.
– String Manipulasi
- Dalam Standar Perpustakaan Fungsi (file header string.h) menyediakan fungsi untuk memanipulasi string yang:
- strlen () Mengembalikan nilai dari panjang string; dikecualikan arang nol
- strcpy (s1, s2) Copy s2 ke s1
- strncpy (s1, s2, n) Salin pertama n karakter dari s2 ke s1
- strcat (s1, s2) Menambahkan string yang s2 ke akhir string s1
- strncat (s1, s2, n) Menambahkan n karakter string s2 ke akhir string s1
- strcmp (s1, s2) Membandingkan nilai string s1 dan s2, jika sama kembali 0
- dan lain-lain
– Jadi yang kita pelajari adalah :
- Pointer adalah variabel yang menyimpan alamat dari variabel lain
- Pointer ke pointer adalah variabel yang menyimpan alamat lain pointer
- Data disimpan dalam struktur tertentu untuk diakses sebagai sebuah kelompok atau secara individu. Beberapa variabel disimpan menggunakan nama yang sama membedakan dengan indeks mereka yang disebut sebagai array
- String adalah array dari karakter yang berakhir dengan karakter null