Menu
CoddyTech

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 float

Tanda 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.

challenge icon

Tantangan

Mudah
Tulis program C yang menunjukkan sintaks deklarasi pointer yang benar. Programmu harus:
  1. Mendeklarasikan pointer ke integer bernama int_ptr, yang diinisialisasi dengan NULL
  2. Mendeklarasikan pointer ke karakter bernama char_ptr, yang diinisialisasi dengan NULL
  3. Mendeklarasikan pointer ke float bernama float_ptr, yang diinisialisasi dengan NULL
  4. Mencetak alamat memori yang tersimpan di setiap pointer menggunakan printf dengan 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;
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C online