C puf noktalari 1

Array kullanmiyor olabilirsin


2d veri icin genelde, boyutlarinin uzunlugunu bildiginiz zaman static array kullanirsiniz ve kullanamadiginiz zaman, klasik ic ice cift pointer malloc acip kullanilir.

2d array ve 2d ic ice malloc farklidir cunku malloc ile actiginiz zaman her satir bir isaretci oldugu icin istedigi uzunlukta herhangi bir yeri isaret edebilir ama array; siz acmadiginiz surece isaretci kullanilmaz.  Bu yuzden isaretci barindirmayan array sabit bir veri oluyor. Fakat mallocla da isaretciye yer acmadan static array olusturabilirsiniz. Burda staticten kastim herhangi bir tanim degil de, gercek anlami. Yani boyutunu degistiremeyeceginiz bir veri. 

Aslinda arrayi ve mallocu static ve dinamik sekilde kullanilabilirsiniz. Ben burada genelde yapilan hatayi ornekleyerek baslayacagim.

Genelde 


yaziyom...





Castinge Alternatif olarak offset carpimi ile kullanma

class_arr[(y * 3) + x] = arr[y][x]

Yorumlar