Operator Inkrementasi dan Ekspresi L-value Bahasa C dan Fungsinya
Pada materi ini akan jelaskan mengenai Operator Increment (Decrement) membutuhkan ekspresi L-value pada bahasa C.
Sebelum memahami lebih dalam materi tentang Operator Inkrementasi dan Ekspresi L-value Bahasa C dan Fungsinya, terlebih dahulu pelajari materi tentang: Perintah Operand Untuk Operator Logika Bahasa C [klik], Operator Koma Sebagai Nilai I pada Bahasa C [klik], dan Operator Koma Bahasa C dan Fungsinya [klik].
Contoh:
#include<stdio.h>
int main()
{
int i = 10;
printf("%d", ++(-i));
return 0;
}
Output:
none - Kompilator error
Penjelasan
Pada bahasa C dan C++ operator pre-increment (decrement) dan post-increment (decrement) membutuhkan ekspresi nilai L sebagai operand. Memberikan nilai-R atau variabel konstanta dapat menghasilkan kesalahan kompilasi.
Pada program sebelumnya, hasil ekspresi -i pada nilai R merupakan operand dari operator pre-increment. Operator pre-increment membutuhkan L-value sebagai nilai operand. Jika tidak, maka kompilator akan menghasilkan nilai error.
Operator increment dan decrement membutuhkan pembaruan data operand setelah titik sekuensial, sehingga membutuhkan L-value. Operator unary membutuhkan -, +, dan tidak membutuhkan L-value sebagai operand. Ekspresi -(++i) adalah bernilai valid.
Namun, dalam bahasa C++ aturan yang diberikan sedikit lebih rumit karena masalah referensi. Dapat diaplikasikan operator pre/post increment (decrement) pada referensi variabel yang tidak terkualifikasi oleh const. Nilai referensi juga dapat dikembalikan lagi dari fungsi.
Penjelasan
Pada bahasa C dan C++ operator pre-increment (decrement) dan post-increment (decrement) membutuhkan ekspresi nilai L sebagai operand. Memberikan nilai-R atau variabel konstanta dapat menghasilkan kesalahan kompilasi.
Baca Juga:
Operator increment dan decrement membutuhkan pembaruan data operand setelah titik sekuensial, sehingga membutuhkan L-value. Operator unary membutuhkan -, +, dan tidak membutuhkan L-value sebagai operand. Ekspresi -(++i) adalah bernilai valid.
Namun, dalam bahasa C++ aturan yang diberikan sedikit lebih rumit karena masalah referensi. Dapat diaplikasikan operator pre/post increment (decrement) pada referensi variabel yang tidak terkualifikasi oleh const. Nilai referensi juga dapat dikembalikan lagi dari fungsi.
Referensi Tambahan:
- 3 Contoh Program Perbedaan ++*p, *p++, dan *++p pada Bahasa C [klik]
- Penjelasan Singkat, Hasil Operasi Perbandingan pada Bahasa C dan C++ [klik]
- Penjumlahan Dua Angka Tanpa Menggunakan Operator Aritmatika Bahasa C [klik]
- 6 Contoh Program untuk Titik Sekuensial pada Bahasa C [klik]
- Penjelasan Singkat, Eksekusi Printf dengan Operator Increment pada Bahasa C [klik]
- Fakta tentang Sizeof pada Bahasa C [klik]
- 5 Fakta Antara Strlen vs Sizeof pada Bahasa C [klik]
Artikel ini didedikasikan kepada: Rahma Kusuma Arsyanti, Rahmadandi Nuralia Ferdiansyah, Retina Kristiani, Riza Mustika Ayu Puspita, dan Rizqi Annisa.
Masih belum terlalu paham fungsi dari operator preincrement dan predecrement yang dijelaskan sebelumnya?
BalasHapusOperator Pre-increment(++i) digunakan sebelum menetapkan nilai ke suatu variabel, dimana nilai tersebut bertambah 1. Sedangkan operator post-inrement(i++) digunakan setelah ditetapkan nilai ke nilai variabel, dimana nilai tersebut akan bertambah sebesar 1.
HapusApa perbedaan antara operator pre decrement dan post decrement?
BalasHapusOperator pre decrement decrement digunakan untuk mengurahi nilai variabel sebesar -1 sebelum nilai variabel tersebut ditetapkan. Sedangkan operator post decrement adalah operator yang digunakan untuk mengurangi nilai dari suatu variabel sebanyak -1 setelah nilai dari variabel tersebut ditetapkan.
HapusPada dasarnya materi ini tidak perlu harus terlalu dipahami, karena fokus dari materi ini hanya pada efisiensi penulisan bahasa pemrograman bukan pada efisiensi penulisan algoritma program. Meskipun dapat memberikan dampak pada kompleksitas algoritma yang digunakan pada program.
BalasHapus