Share via


Titik Urutan C

Antara "titik urutan" berturut-turut, nilai objek hanya dapat dimodifikasi sekali oleh ekspresi. Bahasa C mendefinisikan titik urutan berikut:

  • Operan kiri operator logis-AND (&&). Pengoperasi kiri operator logis-AND sepenuhnya dievaluasi dan semua efek samping selesai sebelum melanjutkan. Jika pengoperasi kiri mengevaluasi ke false (0), pengoperasi lainnya tidak dievaluasi.

  • Pengoperasi kiri operator logis-OR (||). Pengoperasi kiri operator logis-OR sepenuhnya dievaluasi dan semua efek samping selesai sebelum melanjutkan. Jika pengoperasi kiri mengevaluasi ke true (bukan nol), pengoperasi lainnya tidak dievaluasi.

  • Pengoperasi kiri operator koma. Pengoperasi kiri operator koma sepenuhnya dievaluasi dan semua efek samping selesai sebelum melanjutkan. Kedua operan operator koma selalu dievaluasi. Perhatikan bahwa operator koma dalam panggilan fungsi tidak menjamin urutan evaluasi.

  • Operator panggilan fungsi. Semua argumen ke fungsi dievaluasi dan semua efek samping selesai sebelum entri ke fungsi. Tidak ada urutan evaluasi di antara argumen yang ditentukan.

  • Pengoperasi pertama operator bersyarat. Pengoperasi pertama operator bersyarat sepenuhnya dievaluasi dan semua efek samping selesai sebelum melanjutkan.

  • Akhir ekspresi inisialisasi penuh (yaitu, ekspresi yang bukan bagian dari ekspresi lain seperti akhir inisialisasi dalam pernyataan deklarasi).

  • Ekspresi dalam pernyataan ekspresi. Pernyataan ekspresi terdiri dari ekspresi opsional diikuti dengan titik koma (;). Ekspresi dievaluasi untuk efek sampingnya dan ada titik urutan setelah evaluasi ini.

  • Ekspresi pengontrol dalam pernyataan pilihan (if atau switch). Ekspresi sepenuhnya dievaluasi dan semua efek samping selesai sebelum kode tergantung pada pilihan dijalankan.

  • Ekspresi pengontrol pernyataan while atau do. Ekspresi sepenuhnya dievaluasi dan semua efek samping selesai sebelum pernyataan apa pun dalam perulangan while atau do perulangan berikutnya dijalankan.

  • Masing-masing dari tiga ekspresi for pernyataan. Ekspresi sepenuhnya dievaluasi dan semua efek samping selesai sebelum pernyataan apa pun dalam iterasi for perulangan berikutnya dijalankan.

  • Ekspresi dalam return pernyataan. Ekspresi sepenuhnya dievaluasi dan semua efek samping selesai sebelum kontrol kembali ke fungsi panggilan.

Baca juga

Evaluasi Ekspresi