Memahami Prioritas &Asosiatif Operator C:Panduan yang Jelas
Prioritas operator
Prioritas operator menentukan operator mana yang dieksekusi terlebih dahulu jika terdapat lebih dari satu operator dalam sebuah ekspresi.
Mari kita perhatikan sebuah contoh:
int x = 5 - 17* 6;
Di C, diutamakan * lebih tinggi dari - dan = . Oleh karena itu, 17 * 6 dievaluasi terlebih dahulu. Kemudian ekspresi yang melibatkan - dievaluasi sebagai prioritas - lebih tinggi dari = .
Berikut tabel prioritas operator dari yang tertinggi ke terendah. Properti asosiasi akan segera dibahas.
Tabel Prioritas &Asosiasi Operator
Operator | Arti operator | Asosiasi | ()
[]
->
.Panggilan fungsional
Referensi elemen array
Pemilihan anggota tidak langsung
Pemilihan anggota langsungKiri ke kanan!
~
+
-
++
--
&
*
ukuran
(tipe) Negasi logis
Komplemen Bitwise(1 's).
Ditambah Unary
Minus unary
Kenaikan
Penurunan
Dereferensi (Alamat)
Referensi penunjuk
Mengembalikan ukuran suatu objek
Typecast (konversi)Kanan ke kiri*
/
% Kalikan
Bagilah
SisanyaKiri ke kanan+
-Binary plus (Penambahan)
Minus biner (pengurangan)Kiri ke kanan<<
>> Pergeseran kiri
Pergeseran kananKiri ke kanan<
<=
>
>=Kurang dari
Kurang dari atau sama
Lebih besar dari
Lebih besar dari atau sama dengan Kiri ke kanan==
!=Sama dengan
Tidak sama denganKiri ke kanan&Bitwise ANDKiri ke kanan^Bitwise eksklusif ORKiri ke kanan|Bitwise ORKiri ke kanan&&Logis ANDKiri ke kanan||Logis ORKiri ke kanan?:Operator BersyaratKanan ke kiri=
*=
/=
%=
+=
-=
&=
^=
|=
<<=
>>=Tugas sederhana
Tetapkan produk
Tetapkan hasil bagi
Tetapkan sisanya
Tetapkan jumlah
Tetapkan perbedaan
Tetapkan bitwise DAN
Tetapkan XOR bitwise
Tetapkan bitwise ATAU
Tetapkan shift kiri
Tetapkan shift kananKanan ke kiri,Pemisah ekspresiKiri ke kanan
Asosiasi Operator
Asosiatifitas operator menentukan arah evaluasi ekspresi. Misalnya,
b = a;
Di sini, nilai a diberikan ke b, dan bukan sebaliknya. Itu karena keterkaitan = operatornya dari kanan ke kiri.
Selain itu, jika ada dua operator dengan prioritas (prioritas) yang sama, asosiatif menentukan arah eksekusinya.
Mari kita perhatikan sebuah contoh:
1 == 2 != 3
Di sini, operator == dan != mempunyai prioritas yang sama. Dan, keterkaitannya dari kiri ke kanan. Oleh karena itu, 1 == 2 dieksekusi terlebih dahulu.
Ekspresi di atas setara dengan:
(1 == 2) != 3
Catatan: Jika suatu pernyataan memiliki beberapa operator, Anda dapat menggunakan tanda kurung () untuk membuat kode lebih mudah dibaca.
Daftar Isi