C Presedensi Dan Asosiatif Operator: Definisi dan Contoh

Dalam tutorial ini, Anda akan belajar tentang prioritas dan asosiasi operator dengan bantuan contoh.

Diutamakan operator

Prioritas operator menentukan operator mana yang dieksekusi lebih dulu jika ada lebih dari satu operator dalam sebuah ekspresi.

Mari kita perhatikan contoh:

 int x = 5 - 17* 6;

Di C, prioritas *lebih tinggi dari -dan =. Makanya, 17 * 6dievaluasi dulu. Kemudian ekspresi yang melibatkan -dievaluasi karena prioritas -lebih tinggi daripada =.

Berikut tabel prioritas operator dari yang lebih tinggi ke yang lebih rendah. Properti asosiatif akan segera dibahas.

Tabel Urutan & Asosiasi Operator

Operator Arti dari operator Asosiatif
()
()
->
.
Panggilan fungsional
Referensi elemen array
Pemilihan anggota tidak langsung Pemilihan
anggota langsung
Kiri ke kanan
!
~
+
-
++
-
&
*
sizeof
(tipe)
Negasi logis
Bitwise (1 's) melengkapi
Unary plus
Unary minus
Increment
Decrement
Dereference (Address)
Pointer referensi
Mengembalikan ukuran objek
Typecast (konversi)
Kanan ke kiri
*
/
%
Kalikan Sisa
Pembagi
Kiri ke kanan
+
-
Biner plus (Penjumlahan)
Biner minus (pengurangan)
Kiri ke kanan
<<
>>
Pergeseran kiri Pergeseran
kanan
Kiri ke kanan
<
<=
>
> =
Kurang dari
Kurang dari atau sama
Lebih besar dari
Lebih dari atau sama
Kiri ke kanan
==
! =
Sama dengan
Tidak sama dengan
Kiri ke kanan
& Bitwise DAN Kiri ke kanan
^ Eksklusif bitwise ATAU Kiri ke kanan
| Bitwise ATAU Kiri ke kanan
&& DAN logis Kiri ke kanan
|| Logis ATAU Kiri ke kanan
?: Operator Bersyarat Kanan ke kiri
=
* =
/ =
% =
+ =
- =
& =
=
| =
<< =
>> =
Tugas sederhana
produk Tetapkan
Tetapkan quotient
Tetapkan sisa
Tetapkan jumlah
Tetapkan perbedaan
Tetapkan bitwise DAN
Tetapkan bitwise XOR
Tetapkan bitwise OR
Tetapkan meninggalkan pergeseran
Tetapkan shift kanan
Kanan ke kiri
, Pemisah ekspresi Kiri ke kanan

Asosiasi Operator

Asosiasi operator menentukan arah di mana ekspresi dievaluasi. Sebagai contoh,

 b = a;

Di sini, nilai a ditetapkan ke b, dan bukan sebaliknya. Itu karena asosiasi =operator dari kanan ke kiri.

Selain itu, jika ada dua operator dengan prioritas yang sama (prioritas), asosiativitas menentukan arah eksekusi.

Mari kita perhatikan contoh:

 1 == 2! = 3

Di sini, operator ==dan !=memiliki hak yang sama. Dan, asosiatif mereka dari kiri ke kanan. Makanya, 1 == 2dieksekusi dulu.

Ekspresi di atas sama dengan:

 (1 == 2)! = 3

Catatan: Jika pernyataan memiliki banyak operator, Anda dapat menggunakan tanda kurung ()agar kode lebih mudah dibaca.

Artikel yang menarik...