wanderer Mesaj tarihi: Ağustos 19, 2003 Mesaj tarihi: Ağustos 19, 2003 #include #include using namespace std; int main() { long la[10]; for(int i=0; la[i]!=0; i++) { cout << la[i] << " " << &la[i] << endl;} return 0; } burda 11. elemana yani escape char 0'a gelince programi bitirmesi gerekmez mi? Hatta stroustrup'un kitabinda ornek olarak vermis ama vc++ da calismiyor. neden olabilir?[hline]W.A.N.D.E.R.E.R.: Wireless Artificial Neohuman Designed for Efficient Repair and Efficient Reasoning [Bu mesaj wanderer1985 tarafından 19 August 2003 21:33 tarihinde değiştirilmiştir]
The_Delucian Mesaj tarihi: Ağustos 19, 2003 Mesaj tarihi: Ağustos 19, 2003 i integer ını tanıtmamıssın ... bıde hata measajını yazarsan sevınırım ...[hline]* tells "drizzt" wıth fear ... * tells "do'urden" wıth the head of man who said 'drizzt' ... *sevdaki ,onu egilmeden tasıyabilene yakısır ... *kazanmak neye yararki , kaybeden oldugunda ...
wanderer Mesaj tarihi: Ağustos 19, 2003 Konuyu açan Mesaj tarihi: Ağustos 19, 2003 hmm, kitaptaki ornek char arrayi imis. acaba sadece char arraylerinde mi escape char var?[hline]W.A.N.D.E.R.E.R.: Wireless Artificial Neohuman Designed for Efficient Repair and Efficient Reasoning
wanderer Mesaj tarihi: Ağustos 19, 2003 Konuyu açan Mesaj tarihi: Ağustos 19, 2003 bir de, i integeri for dongusunun icinde tanimli? hata mesajini compiler vermiyor, progu calistirinca klasik windoze un hatasi olusuyor.[hline]W.A.N.D.E.R.E.R.: Wireless Artificial Neohuman Designed for Efficient Repair and Efficient Reasoning
GE-TA Mesaj tarihi: Ağustos 19, 2003 Mesaj tarihi: Ağustos 19, 2003 Wanderer o for loop'dan çıkması için la array'inin o 11 (0'dan 10'a kadar olan) elemanından herhangibirinin 0 olması lazım değil ise çıkmaz. Sanıyorum la[11]'e değer atanmadığı için 0 olur diye düşündün. Ama öyle değil.[hline]In God I Trust For Rest I Just Test
wastiee Mesaj tarihi: Ağustos 19, 2003 Mesaj tarihi: Ağustos 19, 2003 char la[10] 'u initialize etmedigin icin hata veriyor, daha dogrusu la 'nin baslangic byteindan itibaren tek tek degeri 0 olan byte ariyor memoryde, la 'nin ilk 10 byteinda bulamayinca la[11] la[12] .. diye devam ediyor aramaya, o zaman da segmentation faulta sebep verir eninde sonunda, okumamasi gereken bi yeri okumaya kalkinca. char la[10]; dedigin zaman, memoryden 10 bytelik (10 char degeri tutabilecek daha dogrusu) bi alan ayriliyor, ama degeri bosaltilmiyor, o anda o memory adresinde ne varsa degeri o. stringler 0 nolu byte ile biterler, bittigi oyle anlasilir yani. mesela "wastiee" bir string ise, 7 karakter degil, 8 karakter vardir, 8. karakterin degeri stringin bittigini gosteren 0 nolu bytedir ( '', NULL, 0)[hline]wastiee
wanderer Mesaj tarihi: Ağustos 19, 2003 Konuyu açan Mesaj tarihi: Ağustos 19, 2003 peki char arrayleri degil de baska seylerin arrayleri ne ile biter? herhangi bir ozel character var mi? yoksa bittigi nasil anlasiliyor?[hline]W.A.N.D.E.R.E.R.: Wireless Artificial Neohuman Designed for Efficient Repair and Efficient Reasoning
wastiee Mesaj tarihi: Ağustos 19, 2003 Mesaj tarihi: Ağustos 19, 2003 char arrayleri de ile bitmez normalde. soyle, eger bu bi C string 'i ise, ile biter C stringleri, ve de char arrayleridir kendileri. ama sen char buffer[10]; diyip, bunu string olarak degil de, binary bi buffer gibi kullanabilirsin, 10 bytelik bir memory alani olarak yani, herhangi bi bitis karakterine bakmadan, buffer[0] ... buffer[9] araligini kullanarak (buffer[10], buffer[11] falan dersen, tanimladigin memorynin disina cikmis olursun, segmentation fault verir buyuk ihtimalle, vermese bile baya bi dert acar basina) ama mesela printf("%s", s); dedigin zaman, s, bir C stringdir, char s[10]; gibi tanimlanip bittigi yerde de '' karakteri vardir.[hline]wastiee
GE-TA Mesaj tarihi: Ağustos 19, 2003 Mesaj tarihi: Ağustos 19, 2003 wanderer birde char array'i degil long array'i yapmissin. Yani string olusturmuyorsun dikkat et.[hline]In God I Trust For Rest I Just Test
Ceday Mesaj tarihi: Ağustos 19, 2003 Mesaj tarihi: Ağustos 19, 2003 şimdi arraylerde degerini initialize etmedigin "hanelere" ulasıp degerini okumak istersen memory hatası alırsın. ayrıca yukardaki code u tam olarak dogru yazdıgına emin misin? char arrayi de olsa bişiler hala yalnıs..
GE-TA Mesaj tarihi: Ağustos 19, 2003 Mesaj tarihi: Ağustos 19, 2003 Yanlış değil de eksik diyelim biz şuna. :D[hline]In God I Trust For Rest I Just Test
Ceday Mesaj tarihi: Ağustos 20, 2003 Mesaj tarihi: Ağustos 20, 2003 adam bu örnegi nie vermiş ki ben anlamadım yalnız. habire arrayin adresini yazar durur bu. 20 kere mi ne..
Öne çıkan mesajlar