Artikel Terbaru

4 Keunggulan Utama Bitcoin

Sebelum membicarakan tentang bitcoin, terlebih dahulu mari pahami apa yang dimaksud dengan uang. Apa sebenarnya yang dimaksud dengan uang? Pada dasarnya, uang adalah segala sesuatu yang mewakili nilai tertentu.

3 Cara Singkat Memahami Deklarasi Kompleks dalam Bahasa C

Kebanyakan program adalah bahasa yang dibuat dalam kode program sederhana, namun hal tersebut akan menjadi sulit jika beberapa deklarasi telah melibatkan pointer dan fungsi. Contohnya, perhatikan program bahasa C berikut ini:

void (*bsd_signal(int, void (*)(int)))(int);

Berikut adalah cara memahami deklarasi program yang telah dibuat sebelumnya.
  • satu, Konversi deklarasi bahasa C menjadi format postfix dan baca mulai dari kanan ke kiri.
  • dua, Konversi ekspresi menjadi postfix, mulai dari innermost parenthesis, jika innermost parenthesis tidak ditampilkan maka mulai dari nama deklarasi dan berlanjut ke urutan dari kanan program. Ketika mencapai tahap akhir parenthesis maka berpindah ke kiri. Ketika semua parenthesis telah diurai selanjutnya keluar dari parenthesis.
  • tiga, Lanjutkan sampai deklarasi selesai diuraikan.

Mari mulai dengan contoh sederhana.

int (*fp) ();

Konversikan ekspresi sebelumnya menjadi format postfix. Dari contoh, tidak ditemukan parenthesis, karenanya, akan dideklarasikan nama "fp". Selanjutnya, menuju ke bagian kanan dari ekspresi, tetapi tidak terdapat apapun dibagian kanan dari "fp", karenanya lanjut ke bagian kiri. Pada bagian kiri ditemukan "*", secara cetak "*" dan keluar dari parenthesis. Maka didapat bentuk ekspresi sebagai berikut.

fp * () int

Sekarang baca ekspresi postfix mulai dari kiri ke kanan, dimana fp adalah point ke fungsi yang mengembalikan nilai int.

Contoh selanjutnya:

int (*daytab) [13]

Postfixdaytab * [13] int
Maknanya: daytab adalah pointer menuju array 13 dengan tipe integer.

void (*f[10]) (int,int)

Postfixf[10] * (int,int) void
Maknanya: f adalah sebuah array yang merupakan pointer menuju ke fungsi yang membutuhkan dua argumen masukkan dengan tipe integer yang bertipe void.

char (*(*x())[]) ()

Postfix(*x())[] * () char
x()*[] * () char
Maknanya: x adalah sebuah fungsi yang mengembalikan nilai pointer ke array dari pointer ke fungsi yang mengembalikan nilai char.

char (*(*x[3])())[5]

Postfix(*x[3])() * [5] char
: x[3]*() * [5] char
Maknanya: x adalah array dari 3 pointer ke fungsi yang mengembalikan nilai pointer ke array 5 dengan tipe char.

int *(*(*arr[5])()) ()

Postfixarr[5]*() * () * int
Maknanya: arr adalah array 5 pointer ke fungsi yang mengembalikan nilai pointer ke fungsi yang mengembalikan nilai pointer ke integer.

void (*bsd_signal(int sig, void (*func)(int)))(int);

Postfixbsd_signal(int sig, void (*func)(int)) * (int) void
Maknanya : bsd_signal adalah sebuah fungsi yang mengambil nilai integer dan sebuah pointer menuju sebuah fungsi yang mengambil nilai integer sebagai argumen dan return void dan mengembalikannya melalui pointer ke sebuah fungsi yang mengambil integer sebagai argumen dan void return.

Komentar

  1. Apa yang dimaksud dengan deklarasi pada bahasa C?

    BalasHapus
    Balasan
    1. Deklarasi merupakan bentuk konstruksi pada bahasa C yang digunakan untuk memperkenalkan satu atau lebih pengenal ke dalam program dan menentukan arti dan isi propertinya. Deklarasi dapat muncul dalam cakupan apapun.

      Hapus
    2. Deklarasi pada bahasa C artinya memberitahukan kompilator tentang jenis, ukuran pada program. Sedang deklarasi pada bahasa C jika terkait dengan fungsi maka artinya memberitahukan tentang jenis dan ukuran parameter dari variabel apapun pada fungsi tersebut, atau jenis dan fungsi yang ditentukan oleh programmer dalam suatu program, dimana tidak ada ruang cadangan apapun dalam suatu memori untuk variabel apapun dalam kasus deklarasi tersebut.

      Hapus
  2. Secara umum, dalam bahasa pemrograman, deklarasi adalah pernyataan yang menjelaskan pengenal, seperti nama variael atau fungsi yang terdapat dalam suatu kode program. Contoh, dalam pemrograman bahasa C, sebuah variabel harus dideklarasikan dengan tipe data tertentu sebelum dapat diberi nilai dalam variabel tersebut.

    BalasHapus
  3. Apa perbedaan antara pendeklarasian dan pendefinisian pada bahasa pemrograman?

    BalasHapus
    Balasan
    1. Contoh untuk variabel dalam bahasa C, deklarasi berarti hanya menyatakan tipe datanya bersamaan dengan nama yang diberikan untuk pengalokasian memori variabel tersebut. Sedangkan definisi berarti memberikan ilai dari variabel yang telah dideklarasikan tersebut.

      Hapus

Posting Komentar

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

Catatan: setiap iklan yang ditayangkan pada blog ini bersumber dari google adsense. Dengan jenis iklan yang dipilih adalah, sebagai berikut.

POIN 1, Iklan yang ditampilkan hanya boleh berbahasa indonesia atau berbahasa inggris. Tidak menerima jenis iklan dalam bahasa yang lain selain yang telah disebutkan karena blog ini dibuat untuk para pengunjung dari negara atau orang yang berbahasa Indonesia.

POIN 2, Setiap gambar yang ditampilkan pada iklan sifatnya tidak mengganggu para pengunjung yang melihat blog, atau tidak boleh menampilkan gambar yang bersifat menjijikkan atau merangsang rasa mual.

POIN 3, Jenis iklan yang dipasang bukan merupakan iklan spam, atau berisi dan mengarahkan pengunjung ke alamat yang berbahaya atau bersifat penipuan.

POIN 4, Segala bentuk iklan tunduk dan patuh pada ketentuan dari pihak Adsense google dan pemilik blog.

POIN 5, Segala jenis iklan yang tidak bertentangan dengan poin 1-4 yang dijelaskan sebelumnya, maka iklan tersebut dapat ditampilkan pada blog.

POIN 6, Jika ada pihak ketika yang ingin memasang iklan pada blog ini secara langsung, maka dapat menghubungi pemilik blog melalui kontak 0882 3218 8316.



~ Ikatlah Ilmu dengan Memostingkannya ~

Hot Artikel

Enkapsulasi pada Java

Perbedaan stdio.h dan stdlib.h pada Bahasa C

4 Contoh Program Java dan Multiple Inheritance

6 Tahap Utama dalam Melakukan Kompilasi Program Hello World Java

3 Jenis Utama Looping pada Java