08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

Yukarıdaki örneklerden de görüldüğü gibi, atama grubu işleçlerin yan etkileri vardır. Yan<br />

etkileri, işlecin sol teriminin bellekteki değerinin değiştirilmesi, yani işlecin sağ tarafındaki<br />

terimi olan ifadenin değerinin sol tarafındaki nesneye aktarılması şeklinde kendini<br />

gösterir.<br />

Virgül İşleci<br />

İki ayrı ifadeyi tek bir ifade olarak birleştiren virgül işleci, C'nin en düşük öncelikli<br />

işlecidir.<br />

ifade1;<br />

ifade2;<br />

ile<br />

ifade1, ifade2;<br />

aynı işleve sahiptir.<br />

Virgül işlecinin, önce sol terimi olan ifadenin sonra sağ terimi olan ifadenin ele alınması<br />

güvence altındadır. Bu işlecin ürettiği değer, sağ tarafındaki ifadenin ürettiği değerdir.<br />

Virgül işlecinin sol teriminin, üretilen değere bir etkisi olmaz.<br />

x = (y++, z = 100);<br />

gibi bir deyimle x ve z değişkenlerine 100 değeri atanır.<br />

Aşağıdaki örnekte if ayracı içindeki ifadenin ürettiği değer 0'dır.<br />

if (x > 5,0) {<br />

/***/<br />

}<br />

Virgül işleçleri ile bir bileşik deyim basit deyim durumuna getirilebilir:<br />

if (x == 20) {<br />

a1 = 20;<br />

a2 = 30;<br />

a3 = 40;<br />

}<br />

yerine<br />

if (x == 20)<br />

a1 = 20, a2 = 30, a3 = 40;<br />

yazılabilir.<br />

Virgül işlecinin sağ terimi nesne gösteren bir ifade olsa bile işlecin oluşturduğu ifade bir<br />

nesne değildir:<br />

int x, y;<br />

/***/<br />

(x, y) = 10;<br />

Yukarıdaki atama işlemi geçersizdir.<br />

[C++ dilinde virgül işlecinin oluşturduğu bir ifade sol taraf değeri olabilir. Yukarıdaki atama C++ dilinde<br />

geçerlidir.]<br />

89/529

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!