Lompat ke konten Lompat ke sidebar Lompat ke footer

Mendeklarasikan Pointer Ke Sebuah Fungsi Bahasa C

Pada Artikel ini akan dijelaskan bagaimana cara memdeklarasikan atau membuat pointer ke sebuah fungsi.

Mendeklarasikan Pointer Ke Sebuah Fungsi Bahasa C
Mendeklarasikan Pointer Bahasa C

Sebelum memahami lebih dalam materi tentang Mendeklarasikan Pointer Ke Sebuah Fungsi Bahasa C, terlebih dahulu pelajari materi tentang: Representasi Uncommon Elemen Array Bahasa C [klik], Pointer Dangling, Void, Null, dan Wild pada Bahasa C [klik], dan Parameter Array Sebagai Pointer Bahasa C [klik].

Asumsikan telah diketahui apa yang dimaksud dengan pointer Bahasa C, sehingga dapat dilakukan pembuatan sebuah pointer ke tipe integer pada bahasa C.

Sintak:
int * ptrInteger; /* Diberikan operator '*' diantar int dan ptrInteger untuk membuat sebuah pointer.*/

ptrInteger merupakan sebuah pointer yang menuju ke tipe data integer.

Perhatikan contoh penulisan pointer berikut:

int foo(int);

Fungsi foo merupakan sebuah fungsi yang digunakan untuk mengembalikan nilai integer atau nilai bilangan bulat, dan mengambil satu buah argumen dari tipe data integer tersebut. Jadi, dengan menempatkan operator '*' diantara int dan foo(int), maka akan menciptakan sebuah pointer ke fungsi pada Bahasa C.

int * foo(int);

Catatan: Operator presedensi selalu memegang aturannya dalam pembuatan baris kode program pada bahasa C, sehingga pada kondisi tersebut, operator '()' akan mengambil prioritas yang lebih tinggi daripada operator '*' untuk dieksekusi atau dijalankan pada program. Jadi, pada contoh deklarasi yang telah dibuat sebelumnya, fungsi foo dengan satu argumen dari tipe data integer akan mengembalikan nilai dari int * atau dari pointer integer.

Karena langkah tersebut bukanlah sesuai yang diinginkan atau dicapai pada program, maka operator '*' akan diikat dengan operator foo. Oleh karena itu, maka dilakukan perubahan aturan presedensi default dari penulisan sebelumnya dengan menggunakan operator (), agar nilai yang berada di dalam operator '()' akan dieksekusi terlebih dahulu, sebelum operator '*' dieksekusi atau dijalankan pada program, sesuai dengan urutan presedensinya.

int (*foo)(int);

5 komentar untuk "Mendeklarasikan Pointer Ke Sebuah Fungsi Bahasa C"

  1. Apa yang dimaksud dengan pointer to function pada bahasa C?

    BalasHapus
    Balasan
    1. Pointer to function atau pointer ke fungsi pada bahasa C merupakan bentuk pointer yang menunjuk ke alamat kode fungsi yang dapat dieksekusi.

      Hapus
    2. Pointer to function dapat menggunakan pointer untuk memanggil suatu fungsi dan meneruskan fungsi tersebut sebagai bentuk argumen ke fungsi lain.

      Hapus
    3. Pointer function juga disebut sebagai pointer subrutin atau pointer prosedur yang menunjuk ke suatu fungsi tertentu.

      Hapus
    4. Pointer to function berbeda dengan proses mereferensika nilai data, dimana pointer to function menunjuk ke kode program yang dapta dieksekusi di dalam suatu memori.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -