Çözüldü C dilinde postfix ve Prefix'in farkı

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Aykut Usta

Hectopat
Katılım
17 Ağustos 2020
Mesajlar
338
Çözümler
3
Yer
Hatay
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar yeni yeni C programlama dilini öğrenmeye başladım ve aklıma takılan bir şey oldu. Postfix ve Prefix'in farkı nedir? Açıklayabilirseniz çok sevinirim.
 
Çözüm
Şimdi Syntax'ı C ile aynı olan ama V diyeceğim bir dil tanımlıyorum. Önce C kodu yazacağım, sonra onun V dilinde yaptığını.
[CODE title="C"]int a = 5;
int b = a++;[/CODE]
[CODE title="V"]int a = 5;
int temp = a;
a = a + 1;
int b = temp;[/CODE]
[CODE title="C"]int a = 5;
int b = ++a;[/CODE]
[CODE title="V"]int a = 5;
a = a + 1;
int b = a;[/CODE]

Aradaki fark bu. Soldan okuma olarak bakınca önce ++ varsa önce artırır, önce değişken varsa o değişkeni bir yerde depolar, çünkü değeri kullanılacaktır, sonra artırır.
Günümüz derleyicileri optimizasyonla o boş değişkeni gerekmediği durumda silse de hem o değişkenin oluşma ihtimalinin olduğunu hem de birinde önce değişkenin değerinin artırıldığını bilmek iyidir. Gerektiği yerde uygun olanı kullanırsın.
Şimdi Syntax'ı C ile aynı olan ama V diyeceğim bir dil tanımlıyorum. Önce C kodu yazacağım, sonra onun V dilinde yaptığını.
[CODE title="C"]int a = 5;
int b = a++;[/CODE]
[CODE title="V"]int a = 5;
int temp = a;
a = a + 1;
int b = temp;[/CODE]
[CODE title="C"]int a = 5;
int b = ++a;[/CODE]
[CODE title="V"]int a = 5;
a = a + 1;
int b = a;[/CODE]

Aradaki fark bu. Soldan okuma olarak bakınca önce ++ varsa önce artırır, önce değişken varsa o değişkeni bir yerde depolar, çünkü değeri kullanılacaktır, sonra artırır.
Günümüz derleyicileri optimizasyonla o boş değişkeni gerekmediği durumda silse de hem o değişkenin oluşma ihtimalinin olduğunu hem de birinde önce değişkenin değerinin artırıldığını bilmek iyidir. Gerektiği yerde uygun olanı kullanırsın.
 
Çözüm
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı