An itibari ile başımdan geçen bir olayı sizlere de anlatmak istiyorum. Okulumun son lab saatlerinde C ile recursive bi fonskiyon yapıp, fonskiyona bir string gönderiyoruz. Fonsksiyon bize stringdeki karakter sayısı ile dönüş yapıyor. Amaç ise debug yeteneklerimizi geliştirmek falan.--
Lakin labın yarısına mâl olan bir bilgi eksikliği ki,--
-Fonksiyona char pointer gönderip, en son return kısmında--
--
-kullandık.--
--
Tabii ki tahmin edeceğiniz üzere, segmentasyon hataları havada uçuşuyor, sınıf kaynıyor falan.--
Buradan ders çıkarmamız gereken hata ise, C pointerlarında *x++ ile ++*x farklı şeyleri ifade etmekte. Post increment(*x++) sadece pointerın değerini değiştirirken, pre increment değeri değiştirip tekrardan depoluyor.--
-Belki bir kısmınız çoktan biliyordu, lakin böyle küçük detaylar büyük dertlere sebep olabiliyor.----
Lakin labın yarısına mâl olan bir bilgi eksikliği ki,--
Kod:
int Rec(char *str)
-Fonksiyona char pointer gönderip, en son return kısmında--
--
Kod:
return 1+(str++)
-kullandık.--
--
Tabii ki tahmin edeceğiniz üzere, segmentasyon hataları havada uçuşuyor, sınıf kaynıyor falan.--
Buradan ders çıkarmamız gereken hata ise, C pointerlarında *x++ ile ++*x farklı şeyleri ifade etmekte. Post increment(*x++) sadece pointerın değerini değiştirirken, pre increment değeri değiştirip tekrardan depoluyor.--
-Belki bir kısmınız çoktan biliyordu, lakin böyle küçük detaylar büyük dertlere sebep olabiliyor.----
