Mendeklarasikan Pointer
Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 2 dari 63.
Sekarang setelah kamu memahami apa itu pointer, mari pelajari cara membuatnya. Mendeklarasikan variabel pointer mengikuti sintaks tertentu yang memberi tahu compiler tipe data yang akan ditunjuk oleh pointer tersebut.
Sintaks dasar untuk mendeklarasikan pointer adalah: data_type *pointer_name;
int *ptr; // Mendeklarasikan pointer ke bilangan bulat
char *ch_ptr; // Mendeklarasikan pointer ke karakter
float *f_ptr; // Mendeklarasikan pointer ke floatTanda bintang (*) yang membuatnya menjadi deklarasi pointer. Tanda ini memberi tahu compiler bahwa variabel ini akan menyimpan alamat memori, bukan nilai data yang sebenarnya. Saat kamu mendeklarasikan int *ptr;, kamu mengatakan "ptr adalah pointer yang dapat menyimpan alamat variabel integer."
Praktik yang baik adalah menginisialisasi pointer dengan NULL jika pointer tersebut belum menunjuk ke alamat memori yang valid. Ini mencegah pointer menunjuk ke lokasi memori acak: int *ptr = NULL;
Saat mencetak alamat pointer menggunakan printf, gunakan penentu format %p. Sering kali disarankan untuk melakukan cast pada pointer menjadi (void *) agar kompatibel dan formatnya benar: printf("%p", (void *)ptr);
Perhatikan bahwa tipe data sebelum tanda bintang menentukan jenis data yang akan ditunjuk oleh pointer. Hal ini penting karena tipe data yang berbeda menggunakan ruang memori dalam jumlah yang berbeda, dan compiler perlu mengetahui informasi ini untuk mengelola memori dengan benar.
Tantangan
Mudah- Mendeklarasikan pointer ke integer bernama
int_ptr, yang diinisialisasi denganNULL - Mendeklarasikan pointer ke karakter bernama
char_ptr, yang diinisialisasi denganNULL - Mendeklarasikan pointer ke float bernama
float_ptr, yang diinisialisasi denganNULL - Mencetak alamat memori yang tersimpan di setiap pointer menggunakan
printfdengan penentu format%p. Saat mencetak, lakukan cast pointer ke(void*)untuk memastikan formatnya benar, misalnya:printf("Label: %p\n", (void*)ptr);
Outputmu harus menampilkan ketiga alamat pointer dalam format berikut:
Integer pointer: [address]
Character pointer: [address]
Float pointer: [address]Perhatikan bahwa alamat memori sebenarnya dapat berbeda-beda, tetapi format dan labelnya harus sama persis seperti yang ditampilkan di atas.
Coba sendiri
#include <stdio.h>
int main() {
// TODO: Deklarasikan pointer-mu di sini
// TODO: Cetak alamat pointer-mu dengan format yang diminta
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Dasar-Dasar Pointer
Apa Itu Pointer?Mendeklarasikan PointerOperator Address-Of (&)Operator Dereference (*)Pointer NULLRekap: Dasar-Dasar Pointer4Proyek: Utilitas Teks Sederhana
Gambaran Umum ProyekMenghitung Karakter2Pointer dan array
Nama array sebagai pointerElemen array dan pointerAritmetika pointerMembandingkan pointerRangkuman: Menelusuri array dengan pointer5Pointer dan Fungsi
Penerusan dengan NilaiMeneruskan Pointer ke FungsiMengubah Variabel melalui PointerContoh Klasik: SwapMeneruskan Array ke FungsiRingkasan: Argumen Pointer Fungsi8Struct dan Pointer
Pointer ke StructOperator Panah (->)Mengirim Struct berdasarkan NilaiMengirim Pointer StructAlokasi Dinamis StructUlasan: Memodifikasi Struct dengan Pointer11Tantangan Rangkuman Akhir
Rangkuman: Penggabungan string DinamisRangkuman: array berisi structRangkuman: Penghitung Frekuensi Kata3Array char dan String
String sebagai array charPenanda akhir nullInput String dengan scanfMenggunakan strlen()Menggunakan strcpy()Menggunakan strcat()Menggunakan strcmp()Ulasan: Fungsi String DasarLatihan sendiri: Compiler C online