Artikel Terbaru

8 Pertimbangan yang Harus Dilakukan untuk Memilih Wallet Bitcoin

Wallet Bitcoin adalah program yang digunakan untuk mengirim dan menerima data transaksi Bitcoin, menyimpan catatan Bitcoin, dan memantau saldo Bitcoin. Sama seperti ketika seseorang memerlukan program email yang digunakan untuk mengelola data email -nya, pada Bitcoin juga terdapat program sejenis yang dapat digunakan untuk mengelola data Bitcoin tersebut, berupa wallet interface pada setiap node blockchain Bitcoin. Wallet digunakan untuk memantau alamat Bitcoin pada blockchain dan juga dapat digunakan untuk memperbarui saldo Bitcoin pada setiap transaksi.

3 Contoh Program Perbedaan ++*p, *p++, dan *++p pada Bahasa C

Artikel ini membahasa Perbedaan antara ++*p, *p++, dan *++p pada bahasa pemrograman C. Untuk lebih memahami, perkirakan hasil output dari contoh program berikut.

Contoh 1:

#include <stdio.h> 

 int main(void

int arr[] = {10, 20}; 

int *p = arr; 

 

++*p; 

 

printf("arr[0] = %d, arr[1] ="

" %d, *p = %d", arr[0], arr[1], *p); 

 

return 0

}


Contoh 2:

#include <stdio.h>

 

int main(void

int arr[] = {10, 20}; 

int *p = arr; 

*p++; 

 

printf("arr[0] = %d, arr[1] ="

" %d, *p = %d", arr[0], arr[1], *p); 

 

return 0

}


Contoh 3:

#include <stdio.h>

 

int main(void

int arr[] = {10, 20}; 

int *p = arr; 

*++p; 

 

printf("arr[0] = %d, arr[1] ="

" %d, *p = %d", arr[0], arr[1], *p); 

 

return 0

}


Hasil dari keluaran program sebelumnya akan mudah diprediksi dengan mengingat beberapa penerapan aturan mengenai operator postfix ++ dan prefix ++.
  • satu, Precedence dari prefix ++ dan * adalah sama. Asosiatifitas dari keduanya adalah dari kanan ke kiri (right to left).
  • dua, Precedence dari postfix ++ adalah lebih besar dari * dan prefix ++. Tingkat asosiatifitas dari postfix ++ adalah dari kiri ke kanan (left to right).

Bentuk ekspresi ++*p memiliki dua operator yang memiliki precedence sama, sehingga kompilator selanjutnya akan melihat tingkat asosiatifitasnya. Karena ssosiatifitas dari operator adalah kanan ke kiri, maka bentuk ekspresinya yang dibaca adalah ++(*p), sehingga ouput dari program pertama adalah "arr[0]=11, arr[1]=20, *p=11".

Ekspresi *p++ dibaca *(p++), sehingga precedence dari postfix ++ yang lebih tinggi dari *. Maka output dari program kedua adalah "arr[0]=10, arr[1]=20, *p=20".

Ekspresi *++p memiliki dua operator dengan precedence yang sama, sehingga kompilator akan melihat tingkat asosiatifitasnya. Karena asosiatifitas dari operator tersebut adalah dari kanan ke kiri, maka, ekspresi dari operator akan dibaca *(++p). Output dari program ketiga adalah "arr[0]=10, arr[1]=20, *p=20".

Komentar

  1. Apa yang dimaksud dengan pointer atau variabel pointer dalam bahasa pemrograman C?

    BalasHapus
    Balasan
    1. Pointer adalah variabel yang nilainya adalah alamat memori dari variabel lain, yaitu berupa alamat langsung dari lokasi memori variabel yang dituju tersebut. Seperti halnya variabel atau bentuk konstanta apapun, penggunaan variabel pointer harus dideklarasikan terlebih dahulu sebelum pointer (variabel) tersebut dapat digunakan untuk menyimpan alamat variabel apapun.

      Hapus
    2. bentuk penulisan dari variabel yang digunakan sebagai pointer adalah diberi tanda '*' pada bagian awal sebelum nama variabel. Contoh: int *p;

      Hapus
  2. Pointer adalah variabel yang menyimpan alamat memori dari variabe lain. Pointer digunakan untuk menyimpan alamat variabel lain atau item memori dari variabel lain. Pointer sangat berguna untuk jenis parameter passing lainnya yang biasa disebut sebagai Pass By Address. Pointer sangat penting dalam pembuatan program untuk alokasi memori dinamis.

    BalasHapus
  3. Apakah variabel tipe pointer dapat digunakan secara bersamaan dengan operator increment ataupun decrement?

    BalasHapus
    Balasan
    1. Iya, seperti diperlihatkan pada contoh-contoh dalam artikel ini.

      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

Perbedaan stdio.h dan stdlib.h pada Bahasa C

6 Tahap Utama dalam Melakukan Kompilasi Program Hello World Java

Perbedaan Antara int main() dan int main(void) pada Bahasa C

Enkapsulasi pada Java

3 Jenis Utama Looping pada Java