folder Tahribat.com Forumları
linefolder C - C++
linefolder C De Array, Ram Kullanımı Vs.



C De Array, Ram Kullanımı Vs.

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    Bu gün derste hoca arrayları gösterdi.Php ve diğer dillerden bildiğim array'dan bir girdi en son macroproses falan diyordu.Anlattıkça anlattı.Hoca fransız.Biraz sıkıntım oldu.

    Şimdi benim bildiğim kadarıyla int a dediğimizde ramden ayrılan bölge içinde 4 byte ayrılıyordu.Şimdi int a[10] dediğimizde 10 tane 4 byte lık kısım ayrılıyor ve hepsi a oluyor.

    a[0],a[1] ... , a[9]  olaraktan hepsi 4 er 4 er ekleniyor.Ben bu şekilde biliyorum.Yanlış bir yer varmı ?

    Şimdi php yi hatırladım, phpde array kısmınla oynayabiliyorduk.Mesela a['emre'] diyebiliyorduk.Fakat bu kısımda a[1] yapamıyorduk eklerken.Şimdi burda henüz anlayamadığım bir sorun var.

    Php de a[1] dediğimizde tam sayı olursa 2. 4 bytelık kısmı işaret ediyor.Fakat phpde a['abc'] diyebiliyorsak bu ne oluyor ? Ufak bir kafa karışıklığı yaşadım.

    http://cmpe.emu.edu.tr/courses/cmpe112/?page=LectureNotes

    Burada 7. de arraylar var.8 de pointer.NEden se arraylarda böyle bir karışıklık olur gibi oldu.Hocaya a[0] dan değilde a[1] olarak başlatabilir miyiz diye sordum.Çünkü php de array(1=>..) şeklinde yapınca 1 den başlatıyorduk, bilmiyorum dedi.

    Güzel bir kaynağı olan var mı ? Hoca float, double, int te bytelar falan diyor , atlamadan öğrenmek istiyorum.

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    kusura bakmayın 8. chapterdaymış.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    Hocam c de arrayler 0dan başlıyo, hatta aslında onlara array bile dememek lazım.. Pointer onlar :)

    Ve anahtar olarak sadece integerlar kullanılıyo, yani ahmet mehmet gibi array key'ler mümkün değil.. :)

    Tabi tepede enum veya define yaparak bu sorununu bi nebze çözebilirsin...

    Array'e 1den başlamak senin insiyatifine kalmış, fakat 0 elemanı da oluşturulacak, kullanmazsın olur biter..

    Buna benzer bi örnek de, switch case leri de integer ile kullanacaksın, onlar da string almıyo :D


    Php ile C'yi karşılaştırmaya çalışman tamamen kafanı allak bullak eder, phpde değişken tipleri yoktur, ne verirsen onu kullanırlar tip olarak. C phpye oranla çok daha temelde, alt yapıları bile tamamen farklı, c compiler ile bi defada derlenir, php satır satır yorumlanır mesela :)

    Php ile karşılaştırma yapıp kafanı karıştırma, iman et gitsin :D


    There are 10 types of people in the world. Those who knows binary and those who dont...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    anladım hoca eyw.C zevkli güzel geldi de bakalım.Yaw javascript, php c ye benzediği için karşılaştırıyorum ister istemez.Hatta phpyi c gibi yazmaya çalışıyorum daha performanslı olabilir diye.Bu hastalıktan kurtulmam lazım :)

    bu arada pointerlara gelmedik daha.HErkez korkuyor.Çok mu zor bunlar ? Array gibi birşey değil mi ? Yani ramde yeri gösteriyoruz falan.NEdir ne değildir bu nerede kullanır ?

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    Şöyle ki değişkenin bulunduğu adresi tutan değişken :D

    Bi de pointer'ın pointer'ı gibi bi mevzu var ki hiç girmeyeyim.

    Oturup sakin kafa ile çalışırsan rahatlıkla öğrenirsin, korkulacak birşey değil yani :)

    Fonksiyonlara değer göndermeye çalıştığınızda falan lazım olucak, call by value, call by refference mevzuları falan var.

    Aslında şu an kullandığın array'in adı da bir pointer. Şimdi böyle bölük pörçük anlatıp kafanı bulandırmayayım , ilerde sorularını cevaplarız :)

    scanf te kullandığın &'ın ne işe yaradığını orda gösterecekler.. :D


    There are 10 types of people in the world. Those who knows binary and those who dont...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    hocam anladığım kadarıyla & işareti ramdeki hafızayı çağırmak için kullanılıyor.Yani int a dediğimizde a değeri oluşturulup rastgele birşey atanır.Daha sonra scanf ile &a dediğimizde ramdeki oluşturulan değer çağrılıp yeni değer olarak atanır.

    Bunu printf te falan denemiştim nolcak diye sonra öyle birşey olduğunu anladım :).

    Zor birşey olacağını düşünümüyorum.Aksine tam sevebileceğim birşey olabilir :) hedefim öncelikle konsol, sonrasında kernel yazmak :D tabi bu hayalde olabilir ama konsol yazıcam bi tane linux için.Ne olursa olsun.

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    zumsuk bunu yazdı:
    -----------------------------

    hocam anladığım kadarıyla & işareti ramdeki hafızayı çağırmak için kullanılıyor.Yani int a dediğimizde a değeri oluşturulup rastgele birşey atanır.Daha sonra scanf ile &a dediğimizde ramdeki oluşturulan değer çağrılıp yeni değer olarak atanır.

    Bunu printf te falan denemiştim nolcak diye sonra öyle birşey olduğunu anladım :).

    Zor birşey olacağını düşünümüyorum.Aksine tam sevebileceğim birşey olabilir :) hedefim öncelikle konsol, sonrasında kernel yazmak :D tabi bu hayalde olabilir ama konsol yazıcam bi tane linux için.Ne olursa olsun.


    -----------------------------

    Sıfırdan yazmak imkansız gibi bişi de :) Yani tek başına zor olur.. Ama işletim sistemleri dersinde kernel modifiye edip derlersiniz büyük ihtimal :) Bizimkilere yaptırıyolar okulda..

    Shell'de çalışacak uygulamalar yazıyoruz biz de şimdi sistem programlamada. Bu hafta birden fazla process ile which komutunu implement edicez.

    which komutu için bknz: http://www.xs4all.nl/~carlo17/which/


    There are 10 types of people in the world. Those who knows binary and those who dont...
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MaviGozluDev
    MaviGozluDev's avatar
    Kayıt Tarihi: 05/Eylül/2005
    Erkek

    hocam pointer ı felan burda analtmak biraz kasıntı olur :)
    pointer to pointer vs derken iş karışabilir, karıştırabilirsin.

    sana tavsiyem " C Dersi " diye bir kitap var kırmızı kapaklı, Atılım Üni.'nin 3 hocasının yazdığı bir kitaptır. hem gayet güzel bi anlatıma sahip hemde halis mulis Türkçe :)

     

     


    .
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    MaviGozluDev bunu yazdı:
    -----------------------------

    hocam pointer ı felan burda analtmak biraz kasıntı olur :)
    pointer to pointer vs derken iş karışabilir, karıştırabilirsin.

    sana tavsiyem " C Dersi " diye bir kitap var kırmızı kapaklı, Atılım Üni.'nin 3 hocasının yazdığı bir kitaptır. hem gayet güzel bi anlatıma sahip hemde halis mulis Türkçe :)

    -----------------------------

    Hocam pointerları işaretçi, stringleri de karakter katar'ı diye anlatmıyodur umarım :S


    There are 10 types of people in the world. Those who knows binary and those who dont...
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MaviGozluDev
    MaviGozluDev's avatar
    Kayıt Tarihi: 05/Eylül/2005
    Erkek

    NmC bunu yazdı:
    -----------------------------

    MaviGozluDev bunu yazdı:
    -----------------------------

    hocam pointer ı felan burda analtmak biraz kasıntı olur :)
    pointer to pointer vs derken iş karışabilir, karıştırabilirsin.

    sana tavsiyem " C Dersi " diye bir kitap var kırmızı kapaklı, Atılım Üni.'nin 3 hocasının yazdığı bir kitaptır. hem gayet güzel bi anlatıma sahip hemde halis mulis Türkçe :)

    -----------------------------

    Hocam pointerları işaretçi, stringleri de karakter katar'ı diye anlatmıyodur umarım :S


    -----------------------------

    pointer lar için gösterge tabiriini kullanmış kitap.. ama varsayalım ki pointera "göstergeç" string e de "yazıkar" diye saçma sapan şeyler kullanmış ne değişecek ki hocam. son onların pointer ve string olduğunu bildikten sonra. 0 dan öğrenmek için gayet uygun bi kitap olduğu için önerdim bunu sana, bize bunla başlatmışlardı.


    .
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    MaviGozluDev bunu yazdı:
    -----------------------------

    pointer lar için gösterge tabiriini kullanmış kitap.. ama varsayalım ki pointera "göstergeç" string e de "yazıkar" diye saçma sapan şeyler kullanmış ne değişecek ki hocam. son onların pointer ve string olduğunu bildikten sonra. 0 dan öğrenmek için gayet uygun bi kitap olduğu için önerdim bunu sana, bize bunla başlatmışlardı.


    -----------------------------

    Yok hocam ben zaten C dersimi verdim cok sukur =)

    Turkce kitap kullanilmasini mantikli bulmuyorum, kaldi ki adamlar oyle bi ceviriyolar ki Turkceye emin ol ingilizcesini okumak daha kolay oluyo..

    Bi de Turkce kitaptan calisan birisi, ilerde sikinti yasayip Turkce kaynak bulamazsa, sudan cikmis baliga donuyor =)


    There are 10 types of people in the world. Those who knows binary and those who dont...
Toplam Hit: 2696 Toplam Mesaj: 12