Pointer Dalam Bahasa C

Pengertian Pointer

  • Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya.
  • Suatu pointer bukan berisi dengan suatu nilai data seperti halnya pada variabel biasa, variabel pointer berisi dengan suatu alamat.
  • Untuk mendeklarasikan variabel pointer kita menggunakan tanda asterik / bintang (*) didepan variabel yang di deklarasikan pada tipe data tertentu.
  • Tanda ini juga dapat dipakai untuk mengakses nilai dari variabel yang telah ditunjuk.
  • Untuk mendapatkan alamat dari variabel pointer kita menggunakan tanda &

Deklarasi & Isi

Deklarasi variabel pointer seperti halnya deklarasi variabel lainnya hanya ditambahkan tanda * pada depan nama variabel.

int *b

Untuk mendapatkan alamat memori pointer (address of) maka perintah yang digunakan adalah menambahkan tanda & didepan variabel

&b

Untuk mendapatan Isi atau nilai dari variabel pointer maka perintah yang digunakan cukup nama variabelnya saja.

b

Untuk mendapatkan isi atau nilai dari alamat yang terdapat pada isi pointer (value pointed by) maka perintah yang digunakan adalah menambahkan tanda * didepan variabel

*b

Contoh program dengan pointer

#include <stdio.h>

main(){
    int *ptr;
    int k;
    k=7;
    printf("Isi variabel k = %d",k);
    printf("\nAlamat variabel k = %d",&k);
    printf("\nAlamat variabel *ptr = %d",&ptr);
    printf("\nIsi variabel *ptr = %d",ptr);
    ptr=&k;
    printf("\nAlamat variabel *ptr = %d",&ptr);
    printf("\nIsi variabel *ptr = %d",ptr);
    printf("\nIsi dari alamat %d = %d",ptr,*ptr);
    printf("\n");
}

Fungsi dan Pointer

Pada bagian ini akan dibahasa mengenai penggunaan pointer pada parameter fungsi. Parameter pass by reference adalah pemrosesan parameter di dalam sebuah fungsi di mana yang dimasukkan didalam prosedur adalah tempat atau alamat dari variabel yang menjadi parameter sehingga dapat terjadi perubahan nilai variabel yang menjadi parameter.

Contoh program fungsi dengan parameter pass by reference

#include <stdio.h>

int hitung(int a, int *b){
    *b = 15;
    return a + *b;

}

main(){
    int y,z,hasil;
    y=10;
    z=50;
    printf("Sebelum Jalankan Fungsin");
    printf("y=%d\n",y);
    printf("z=%d\n",z);
    hasil=hitung(y,&z);
    printf("Sebelum Jalankan Fungsin");
    printf("y=%d\n",y);
    printf("z=%d\n",z);
    printf("hasil=%d\n",hasil);
}

2 Comments on Pointer Dalam Bahasa C

1 Trackbacks & Pingbacks

  1. Larik (Array) Multi Dimensi | Onestring Lab

Leave a Reply

Your email address will not be published.


*