C++ ve Java gibi nesne yönelimli dillerden gelen ve fread()
ve strtok()
gibi standart kütüphane işlevlerini kullanırken, şu an için C içinde geliştirmekteyim, merak etmeye başladım: Bu işlevler, değişkenler ile ilgili değişkenlerin depolanmasıyla nasıl ilgilidir? devletlerine mi? Örneğin, strtok()
, sonraki aramalar için farklı davranır ve fread()
dosyadaki konumunuzu takip eder. Bu bilginin bir yerde saklanması gerekir ve nesne yönelimli bir dilde, bu değerleri istenmeyen modifikasyonlardan korumak için private
veya protected
gibi kapsam yapıları vardır, fakat C'nin bunlara sahip olmadığı anlaşılır.C kitaplıkları durum değişkenlerini nasıl depolar?
Peki, nasıl güvenli bir şekilde depolanır? Yoksa aslında küresel ve herhangi bir yerden değiştirilebilir mi? Benzer durum bilgisini saklamak için gereken yardımcı işlevler içeren bir başlık dosyası yazarken soru ortaya çıktı. C'deki bu tür bir şeyi yapmanın “doğru” yolu nedir ve mevcut kütüphanelerde nasıl ele alınır?
'o fread'' ihtiyaç duyduğu tüm bilgileri saklayan bir 'Dosya' yapı aldığından fread', çağrılar arasında devlet kaydetmek gerekmez. –