DAFTAR LABEL POPULER PENELITIAN.ID

Jangan Buka Artikel Ini!

Identifier __func__ Bahasa C dan Predefinisinya

Pada artikel ini akan dibahas materi tentang identifier __func__ pada Bahasa C beserta identifiernya.

Contoh: Perhatikan contoh program berikut.

#include <stdio.h>


int main()

{

printf("%s",__func__);

return 0;

}



Pada contoh sebelumnya, diperkirakan program akan menghasilkan kompilasi error karena tidak medefinisikan variabel __func__. Namun, setelah dilakukan kompilasi program, ternyata program dapat berjalan dengan baik tanpa memunculkan pesan error apapun.

Baca Juga:


Identifier __func__ Bahasa C dan Predefinisinya
Identifier __func__ Bahasa C

Penjelasan: Pada Standard Bahasa C C99 dan C11, proses pendefinisian identifier adalah mengikuti aturan sebagai berikut:

"Identifier __func__ secara implisit harus dideklarasikan oleh translator secepatnya, yang diikuti dengan tanda kurung buka untuk setiap definisi fungsi, ketika muncul static const char __func__[] = "function-name";, dimana nama funsi adalah nama dari fungsi lexically-enclosing itu sendiri."

Hal ini berarti bahwa kompilator Bahasa C secara implisit akan menambahkan __func__ pada setiap fungsi pada bahasa C, sehingga identifier tersebut dapat digunakan pada fungsi untuk mendapatkan nama fungsi yang sedang digunakan. Untuk lebih memahani, perhatikan kode program berikut ini:

Contoh:

#include <stdio.h>


void foo(void)

{

printf("%s",__func__);

}


void bar(void)

{

printf("%s",__func__);

}


int main()

{

foo();

bar();


return 0;

}


Hasil dari kompilasi program akan memberikan nilai output sebagai nilai foobar. Kasus penggunaan pengidentifikasi yang telah ditentukan sebelumnya ini dapat digunakan untuk mencatat nilai output dari program besar dimana seorang programmer dapat menggunakan __func__ untuk mendapatkan fungsi saat ini, ketimbang harus menyebutkan nama fungsi lengkap secara eksplisit. Sekarang apa yang terjadi jika kita mendefinisikan satu variabel lagi dengan nama __func__.

Contoh:

#include <stdio.h>


int __func__ = 10;


int main()

{

printf("%d",__func__);


return 0;

}


Karena Standard C menganggag bahwa identifier __func__ dideklarasikan secara implisit sebagai nama fungsi, maka identifier __func__ tidak perlu lagi didefinisikan untuk setiap kode program. Juga, ada kemungkinan terjadi error pada penggunaan Standard C yang memunculkan pesan "undefined behavior" jika identifier tersebut didefinisikan secara eksplisit.

Contoh:

#include <stdio.h>


int main()

{


printf("In file:%s, function:%s() and line:%d",__FILE__,__func__,__LINE__);


return 0;


}

Komentar

  1. Apa yang dimaksud dengan identifier __func__ pada Bahasa C?

    BalasHapus
    Balasan
    1. Identifier __func__ bahasa C merupakan identifier alat pengidentifikasi yang dibuat oleh kompilator yang dibuat untuk mengidentifikasi fungsi menggunakan nama fungsi.

      Hapus
  2. Apa fungsi dari identifier __func__ Bahasa C?

    BalasHapus
    Balasan
    1. Secara implisit identifier __func__ Bahasa C digunakan pada fungsi untuk mendapatkan nama suatu fungsi.

      Hapus
  3. Apa yang dimaksud dengan identifier pada bahasa C?

    BalasHapus
    Balasan
    1. Indentifier merupakan nama yang diberikan untuk variabel, tipe, fungsi, dan label dalam suatu program. Nama identifier harus berbeda dalam ejaan dan huruf kapitalisasi dari kata kunci apapun.

      Hapus

Posting Komentar

Hubungi admin melalui Wa : +62-896-2514-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 ~

Postingan populer dari blog ini (30 Hari)

Enkapsulasi Java dan Fungsinya

Specifier %d dan %i Bahasa C dan Fungsinya

4 Kesalahan Umum yang Sering Terjadi pada PTK

7 Paradigma Penelitian pada Statistika Penelitian

Cara Membuat Drag and Drop pada HTML

Postingan populer dari blog ini (All Time)

Enkapsulasi Java dan Fungsinya

Komunitas