Dalam tutorial ini, anda akan mengetahui mengenai keutamaan dan kaitan operator dengan bantuan contoh.
Keutamaan pengendali
Keutamaan operator menentukan pengendali mana yang dijalankan terlebih dahulu jika terdapat lebih daripada satu operator dalam ekspresi.
Mari kita pertimbangkan satu contoh:
int x = 5 - 17* 6;
Di C, keutamaan *
lebih tinggi daripada -
dan =
. Oleh itu, 17 * 6
dinilai terlebih dahulu. Kemudian ungkapan yang melibatkan -
dinilai kerana keutamaan -
lebih tinggi daripada yang =
.
Berikut adalah jadual keutamaan pengendali dari yang lebih tinggi ke yang lebih rendah. Harta persatuan akan dibincangkan sebentar lagi.
Jadual Keutamaan & Perkaitan Pengendali
Pengendali | Makna pengendali | Pergaulan |
---|---|---|
() () -> . | Panggilan berfungsi Array elemen rujukan Pemilihan ahli tidak langsung Pemilihan ahli langsung | Kiri ke kanan |
! ~ + - ++ - & * sizeof (jenis) | Penafian logik Bitwise (1 's) melengkapkan unari plus unari tolak Kenaikan penyusutan dereference (Alamat) rujukan Penunjuk Pulangan saiz objek Typecast (penukaran) | Kanan ke kiri |
* / % | Banyakkan Membahagi Sisa | Kiri ke kanan |
+ - | Perduaan tambah (Tambahan) Perduaan tolak (pengurangan) | Kiri ke kanan |
<< >> | Peralihan kiri Pergeseran kanan | Kiri ke kanan |
< <= > > = | Kurang daripada Kurang daripada atau sama Lebih besar daripada Lebih besar daripada atau sama | Kiri ke kanan |
== ! = | Sama dengan Tidak sama dengan | Kiri ke kanan |
& | Sedikit demi sedikit DAN | Kiri ke kanan |
^ | Eksklusif bitwise ATAU | Kiri ke kanan |
| | Sedikit demi sedikit ATAU | Kiri ke kanan |
&& | Logik DAN | Kiri ke kanan |
|| | Logik ATAU | Kiri ke kanan |
?: | Pengendali Bersyarat | Kanan ke kiri |
= * = / = % = + = - = & = = | = << = >> = | Tugasan mudah Tugaskan produk Tentukan hasil tambah Tugaskan baki Tugaskan jumlah Berikan perbezaan Berikan sedikit demi sedikit DAN Tugaskan sedikit demi sedikit XOR Berikan sedikit arah ATAU Tetapkan pergeseran kiri Tetapkan pergeseran kanan | Kanan ke kiri |
, | Pemisah ungkapan | Kiri ke kanan |
Keterkaitan Pengendali
Keterkaitan operator menentukan arah di mana ungkapan dinilai. Sebagai contoh,
b = a;
Di sini, nilai a diberikan kepada b, dan bukan sebaliknya. Ini kerana kaitan =
pengendali dari kanan ke kiri.
Juga, jika terdapat dua pengendali dengan keutamaan yang sama (keutamaan), kesatuan menentukan arah yang mereka jalankan.
Mari kita pertimbangkan satu contoh:
1 == 2! = 3
Di sini, pengendali ==
dan !=
mempunyai keutamaan yang sama. Dan, hubungan mereka dari kiri ke kanan. Oleh itu, 1 == 2
dilaksanakan terlebih dahulu.
Ungkapan di atas bersamaan dengan:
(1 == 2)! = 3
Catatan: Sekiranya pernyataan mempunyai beberapa operator, anda boleh menggunakan tanda kurung ()
untuk membuat kod lebih mudah dibaca.