Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Operator compount assignment menggabungkan operator single assignment dengan operator biner lain. Operator compound-assignment melakukan operasi yang ditentukan oleh operator tambahan, lalu menetapkan hasilnya ke operand kiri. Misalnya, ekspresi compound assignment seperti
ekspresi1 += ekspresi2
dapat dipahami sebagai
ekspresi1 = ekspresi1 + ekspresi2
Namun, ekspresi compound assignment tidak setara dengan versi yang diperluas karena ekspresi compound assignment mengevaluasi expression1 hanya sekali, sementara versi yang diperluas mengevaluasi expression1 dua kali: dalam operasi penambahan dan dalam operasi penugasan.
Operand operator compound assignment harus berjenis integral atau mengambang. Setiap operator compound assignment melakukan konversi yang dilakukan operator biner terkait dan membatasi jenis operand secara bersesuaian. Operator penugasan tambahan (+=
) dan penugasan pengurangan (-=) juga dapat memiliki operand kiri jenis penunjuk, dalam hal ini operand sebelah kanan harus berjenis integral. Hasil dari operasi compound assignment memiliki nilai dan jenis operand kiri.
#define MASK 0xff00
n &= MASK;
Dalam contoh ini, operasi bitwise-inclusive-AND dilakukan pada n
dan MASK
, dan hasilnya ditetapkan ke n
. Konstanta manifes MASK
didefinisikan dengan arahan pra-prosesor #define .