Langsung ke konten utama

Precedence Postfix ++ dan Prefix ++ pada Bahasa C

Pada bahasa C dan C++, precedence dari prefix ++ (atau prefix -) memiliki prioritas lebih tinggi daripada operator dereferensi (*), dan precedence dari postfix ++ (atau postfix -) adalah lebih besar daripada prefix ++ dan *.

Jika p adalah sebuah pointer maka *p++ sama dengan *(p++) dan ++*p adalah sama dengan ++(*p), kedua prefix ++ dan * adalah right associative.

Contoh, program 1 akan mencetak 'h' dan program 2 akan mencetak 'e'.

// Program 1

#include<stdio.h>

 

int main()

{

char arr[] = "nasigorengpadang";

char *p = arr;

 

++*p;

 

printf(" %c", *p);

 

getchar();

 

return 0;

}

Output:
o

// Program 2

#include<stdio.h>

 

int main()

{

 

char arr[] = "nasigorengpadang";

char *p = arr;

 

*p++;

 

printf(" %c", *p);

getchar();

 

return 0;

}

Output:
a

Komentar

  1. Apa yang dimaksud dengan precedence atau presedensi dalam bahasa C?

    BalasHapus
    Balasan
    1. Dalam bahasa C, secara khusus, "presedensi" dan "asosiativitas" adalah model yang disederhanakan untuk memahami tata letak ekspresi dalam bahasa pemrograman C. Keduanya digunakan untuk menjawab pertanyaan "bagaimana ekspresi diuraikan".

      Untuk menguraikan ekspresi bahasa C yang tidak sepenuhnya berada dalam tanda kurung, maka programmer memberikan perintah kepada operator bahasa C sesuai dengan 'tabel prioritas'.

      Hapus
  2. Prioritas operator menjelaskan cara suatu operan akan diperasikan dalam bahasa pemrograman. Saat user memiliki beberapa operasi dalam sebuah ekspresi, maka setiap bagian akan dievaluasi dan diselesaikan dalam suatu urutan yang telah ditentukan sebelumnya sesuai dengan 'tabel prioritas operator'.

    Operator dengan prioritas lebih tinggi akan dieksekusi atau diselesaikan lebih dulu dibandingkan dengan operator dengan prioritas lebih rendah.

    BalasHapus
  3. Operator adalah simbol yang memberi tahu kompilator untuk melakukan fungsi matematika atau logika tertentu. Bahasa C memiliki banyak jenis operator yaitu operator aritmatika, logika, relatsional, dan lain sebagainya.

    Diutamakan kerja suatu operator tertentu, berarti jika terdapat suatu persamaan yang terdiri dari 2 atau lebih jenis operator tertentu yang berbeda, maka operasi mana yang harus dilakukan terlebih dahulu adalah tergantung dari nilai prioritas dan asosiatifitas dari operator tersebut.

    BalasHapus
  4. Precedense pada bahasa C adalah ketika sebuah operator tertentu yang dioperasikan dengan tipe operator lainnya yang berbeda yang berada dalam suatu ekspresi bahasa pemrograman tertentu, maka karena kondisi tersebut, kompilator perlu memutuskan operator mana yang akan ditangani terlebih dahulu. Jadi, atau aturan prioritas yang menentukan untuk suatu operator akan dioperasikan terlebih dahulu.

    BalasHapus

Posting Komentar

Respon komentar 7 x 24 jam, so please be patient :D