Memahami Pointer di Pemrograman C

Memahami Pointer di Pemrograman C
Konten Halaman

Memahami apa itu pointer di pemrograman c, pointer adalah sebagai penunjuk alamat memori sebuah deklarasi data sebelumnya, sehingga data yang di tampung ke dalam sebuah variable misal int a = 1 kemudian pointer nya int *b = &a kita bisa di modifikasi tanpa perlu ditampung dulu ke dalam variable maka ketika kira melakukan perubah di variable b maka variable a akan ikut berubah , isi dari pointer adalah penunjuk ke alamat memori yang menyimpan variabel.

Bagi teman-teman ingin mencoba menjalakan program c di vs code bisa baca Cara Menjalankan dan Compile Program Bahasa C di CMD atau bagi yang belum install compiler c di CMD.

contoh pointer di pemrograman C dengan variable dan pointer:

#include <stdio.h>
int main(void){

    int a = 1; // a
    int *b = &a; // 0xCo8800

    return 0
}

Penjelasan :

  • int *b = &a; yang artinya alamat memori dari a di masukkan ke dalam pointer variable b, yang nantinya jika ada ubahan di b akan berpengaruh dengan nilai variable a

Studi Kasus Penggunaan Pointer

Anda telah melihat bagaimana pointer dideklarasikan dan diinisialisasi.Setelah teman-teman tau bagaimana pointer dideklarasikan dan diinisialisasi, mari kita lanjut untuk melihat studi kasus penggunaan pointer yang dasar, atau lebih tepatnya keuntungan menggunakan pointer di program C. sepeti contohnya dalam sebuah fungsi dan parameter yang saling beriringan dengan variabel pointer, yang nantinya untuk memanipulasi nilai memori.

Implementasi Pass by Value

Pass by Value mampu menerima informasi dari tempat dipanggil dan mengembalikan hasil kembali ke tempat asalnya di panggil. Teknik ini adalah bentuk paling dasar dari passing informasi antar fungsi. contoh potongan kode nya:

void melakukan_memanggil_function(void)
{
  int t1, t2, t3;

  t1 = 10;
  t2 = 20;
  t3 = memanggil_function(t1, t2);
}

int memanggil_function(int x, int y)
{
  int t1, t2, t3;

  t1 = x;
  t2 = y;
  t3 = t1 + t2;

  return t3;
}

Penjelasan :

  • Dalam teknik khusus ini, nilai yang diteruskan ke fungsi yang dipanggil. Setelah nilai diteruskan, nilai ini kemudian disalin ke stack dari masing-masing fungsi yang dipanggil.

Implementasi Pass by Reference

Pass by Reference adalah teknik untuk passing data informasi antar fungsi. Pass by reference digunakan untuk bertukar informasi melewati alamat memori dari sebuah variabel dari pada nilai itu sendiri.

void melakukan_memanggil_function(void)
{
  int t1;
  int *t2;

  t1 = 10;
  t2 = memanggil_function(&t1);
}

int* memanggil_function(int* x)
{
  int t2;
  int *t1;
  int *t3;

  t1 = x;
  t2 = 10;
  t3 = (int*)malloc(sizeof(int));
  t3 = *t1 + t2;

  return &t3;
}

Penjelasan :

  • Dalam kasus di atas, hanya alamat variabel yang diteruskan ke fungsi yang dipanggil, yang kemudian disalin ke stack. Teknik ini memiliki keunggulan dibandingkan dengan teknik sebelumnya tanpa adanya penggandaan data informasi di dalam memori.

Kesimpulan Penggunaan Pointer di C

Manfaat pointer adalah untuk menghemat pemakaian memori, sehingga dengan pointer data tidak redundant dalam memori.