C Programlama Dersleri 30 - Pointerlara Giriş ve Pointerların Mantığı

Поділитися
Вставка
  • Опубліковано 11 лис 2024

КОМЕНТАРІ • 99

  • @banaburalardamemoliderler4780
    @banaburalardamemoliderler4780 6 років тому +104

    Emek budur işte, helal olsun. Hakkınızı ödeyemeyiz, insanların öğrenmesi için bu kadar çabalayana nadir rastlanır. Allah razı olsun.

  • @kubilaycolak5459
    @kubilaycolak5459 3 роки тому +26

    Müthiş anlatım, gerçekten. Çok net ve anlaşılır. Konu başlı başına insanı etkiliyor, müthiş. Teşekkür ederiz.

  • @alper9983
    @alper9983 4 роки тому +30

    5 yıl geçmiş hala faydalanıyoruz. Emeğine teşekkürler kardeşim

    • @senanur9157
      @senanur9157 Рік тому +2

      Ben yazılım mühendisliği okuyorum bunlar 7 yıl önceki videolar ama okulda hiçbir şey anlamayıp buradan çalışarak o kadar geliştiğimi düşünüyorum ki umarım 10 gün sonra olan c programlama finalim iyi geçer ve gerçekten işe yaradığını gözle görebilirim :)

    • @by-tech
      @by-tech Рік тому

      @@senanur9157 3 hafta geçmiş. Final nasıl geçti bari?

    • @zey3169
      @zey3169 10 місяців тому +1

      bunlar npc asla sınavdan sonra yanıt vermezler@@by-tech

    • @by-tech
      @by-tech 10 місяців тому

      @@zey3169 herkes npc ise biz neyiz?

    • @zey3169
      @zey3169 10 місяців тому

      @@by-tech yarın sınavım var bakalım bende npc miyim

  • @pydo
    @pydo 2 роки тому +3

    1 sene icerisinde sadece bu konuyu anlayamadigim icin 4 kez birakip devam ettigim kisma, tekrar hosgeldim 🙃

    • @Moon_light.27
      @Moon_light.27 9 місяців тому

      sonunda anladın mı :') nasıl anladın..

  • @emirhanportakal5843
    @emirhanportakal5843 5 років тому +7

    mantığını çok güzel anlattınız beyefendi. ağzınıza sağlık.

  • @EnesToygun-c1e
    @EnesToygun-c1e Місяць тому

    Emeğinize sağlık hocam 🎉 başarıcaz 😊

  • @alperensayar9679
    @alperensayar9679 7 років тому +6

    Gerçekten harikulade anlatmışsınız.

  • @kaanakagunduz7963
    @kaanakagunduz7963 5 років тому +15

    Bırakmadınız bi reklam izleyelim araya C programlama diye bısey koymuslar

  • @musapolat6836
    @musapolat6836 7 років тому +12

    Süper anlattın kardeşim teşekkürler...iyi bir giriş oldu

  • @barisinizinkanali
    @barisinizinkanali Рік тому +2

    printf("%d",p);
    dediğimizde direkt videodaki verdiği 16lık sayı sisteminin 10luk sayı sistemindeki karşılığını veriyor. Hangisi daha kullanışlı tabi onu bilmiyorum

  • @suleyman9847
    @suleyman9847 2 роки тому +3

    Emeğinize sağlık sayenizde çok iyi şekilde anladım konuyu

  • @ard4lp
    @ard4lp 10 місяців тому

    9:27 Pointer'lar OS mimarisine göre değişse de genellikle 2 değil 1 byte (8 bit) yer kaplarlar bellekte. Düzeltmiş olalım. :))

  • @nameless6990
    @nameless6990 6 років тому +5

    Gerçekten mükemmel olmuş, emeğinize sağlık

  • @nedimgorgu
    @nedimgorgu 3 роки тому +6

    neden u ve p de farklı sayılar çıkıyor neye göre hangisini kullanıcaz

    • @eliagayev2923
      @eliagayev2923 3 роки тому +3

      "%u" ile 10`luk sayı sistem ile "%p" ile ise 16`lık hex sistemi ile yazıyor

  • @ensarnar6223
    @ensarnar6223 5 місяців тому

    Hocam mükemmelsiniz...

  • @muhsinsam
    @muhsinsam 3 роки тому +4

    Emeğinize sağlık, çok güzel bir seri olmuş. Bu arada printf("%p",&i); ile de i'nin adresini basabiliyormuşuz. :D:D:D

  • @irhanm9654
    @irhanm9654 2 роки тому +1

    Hocam ne güzel anlatmışsınız..

  • @monarchytr
    @monarchytr 5 місяців тому

    Daha önce assambly dili kullandıysanız, dolaylı ve direct adresleme ile aslında aynı şey gibi

  • @yunusemreay6764
    @yunusemreay6764 2 роки тому +1

    7 yıl sonra bile izlemeye dewammmm

  • @emresen7644
    @emresen7644 2 роки тому +2

    güzel anlatım teşekkürler

  • @kmlkgn4480
    @kmlkgn4480 7 років тому +6

    mekatronik mühendisliğindeki arkadaşlarıma selam olsun.. biliyorum hepiniz buradasınız :)
    @YazılımBilimi tüm videolar için teşekkürler, emeğine sağlık.

  • @pehambey7145
    @pehambey7145 3 роки тому +1

    Bir şeyi anlayamadım :
    Şidmi p=400 ;
    &i=400;
    o zaman
    p=&i olması gerekmez mi ? ve *p=i olması gerekmez mi ?

  • @yusufbedir5280
    @yusufbedir5280 4 роки тому +1

    Helal olsun abi mükemmel anlatmışsın mantığını

  • @nightrunner-t2m
    @nightrunner-t2m 3 роки тому +5

    Hocam p=&i olması gerekmez mi?
    Çünkü "*p" a değişkeninin remde tutulduğu yerin içerisindeki değeri veriyorsa *p=&a yaptığımızda değer değil anın adresini atamış olmuyor muyuz?
    Bir diğer sorum da
    -> 13:29 *p=&i dediğimiz halde printf ("%d",*p) yaptığımızda nasıl oluor da i nin adresini değil de değerini vermiş oluyor
    -> p=**p diyebilir miyiz?

    • @StoslaTR
      @StoslaTR 2 роки тому

      bende onu anlamadım

    • @mevlutbal6620
      @mevlutbal6620 2 роки тому

      @@StoslaTR burda &i yi bir değişken olarak gör ve *p ile &i nin (i'nin adres bilgisinin bulunduğu değişkenin) içindeki değeri p ye('*' kullanarak)atıyor

    • @kriptoferit8364
      @kriptoferit8364 Рік тому +9

      Anlatımda sıkıntılar var aslında.
      int *p=&a; şeklinde bir eşitleme yapınca pointer konusunu yeni öğrenen biri olayı tam anlayamıyor. Başka sıkıntı yaşayan arkadaşlar varsa şu şekilde kafanızda oturtabilirsiniz, asıl mantık bu çünkü:
      Dereferans operatörünün (* yani) şu seviyede bilmemiz gereken iki adet işlevi var arkadaşlar:
      1- Pointer tanımlarken yapının pointer olduğunu programa bildiriyor.
      2- Bir adresteki değere erişmek için kullanılıyor.
      Yani biz int *p; tanımlamasını yaptığımızda bir pointer tanımlamış oluyoruz, evet. Ancak bu tanımladığımız pointer *p değil, sadece p. * sadece yapının pointer olduğunu programa bildiriyor. O yüzden pointer konusunu yeni öğrenen biri için eşitleme işlemi şu şekilde yapılmalı:
      int *p; --> 'p' pointerını tanımladık.
      p=&a; --> 'p' pointerına a değişkeninin adresini atadık.
      printf("%p",p); --> 'p' pointerının tuttuğu adresi yazdırdık.
      printf("%p",*p); --> 'p' pointerının tuttuğu adresteki değeri yazdırdık.
      Yani bizim pointerımız *p değil, sadece p. int *p=&i; eşitliği kafa karışıklığına sebep oluyor sadece. Giriş seviyesinde pointer konusunun doğru bir şekilde oturması için eşitlemenin
      int *p;
      p=&i; şeklinde yapılması gerek yukarıda da söylediğim gibi.
      Pointer değişkenimizde * olmadığını kafanıza iyice oturtun ki ileride sıkıntı yaşamayın. Şu şekilde de anlayabilirsiniz:
      int sayi=5; olsun.
      printf("%p",&sayi); --> yaparak sayi değişkeninin adresine erişebilirim.
      printf("%d",*&sayi);--> yaparak da bu adresteki değere, yani sayi değişkeninin kendisine erişebilirim.
      Çünkü *, bir adresteki değere erişmeye yarıyordu.
      Kısacası *p diye bir tanımlama yok arkadaşlar. int *p= yaptığımızda da *p'ye bir eşitleme yapmıyoruz çünkü biz *p değil p'yi tanımladık. * sadece yapının pointer olduğunu programa bildiriyor.
      Mantık bu aslında, yazarak anlatması biraz zor oluyor. Bu olayı kafanızda oturtabilirseniz pointer konusunun %90'ı halloluyor aslında. Sesli şekilde anlatabilsem çok iyi anlarsınız da yazarak bu kadar oluyor maalesef :D

    • @BlackLover725
      @BlackLover725 8 місяців тому

      @@kriptoferit8364 varya çok iyi geldi tüm kafa karışıklılığımı giderdin teşekkür ederim.

    • @Mc.Gucket
      @Mc.Gucket 3 місяці тому

      ​@@kriptoferit8364 Mükemmelsin. Daha iyi kanal önerin var mi dostum?

  • @ezgiylmaz7568
    @ezgiylmaz7568 2 роки тому +1

    hocam videonun ilk kısmında sıkıntı yaşadığınız için excel önerebilirim daha kolay olucaktır

  • @denizceyran5040
    @denizceyran5040 4 роки тому +1

    çok açıklayıcı olmuş,teşekkürler.

  • @abdullaheraslan7905
    @abdullaheraslan7905 7 років тому +5

    hocam * işareti değeri verir dedik ama adresi değerini aldı 11:26 saniyede 7. satırda adresin değeri aldı?Anlamadım o noktayı

    • @fahrettinburakdemir8011
      @fahrettinburakdemir8011 7 років тому +5

      *p gösterimi p değişkeninin pointer olduğunu göstermek içindi. eşitliğin yanındaki & ile p pointer'ına adresi atadı.

    • @osman8639
      @osman8639 6 років тому

      Fahrettin Burak Demir eyvallah baskan

  • @MmertcanN1
    @MmertcanN1 10 місяців тому

    abi sen direk kutucuk adresini 8000 diye yazdın ama bizim hocamız A105 gibimsi şeyler yazıyor herhalde 16 lık sistemde yazıyor

  • @yasingunes8990
    @yasingunes8990 7 років тому +3

    Abi heryerde nasıl çıkıyor ben mantığını anladım ama neden bu yapılır anlamadım ne işe yarar

  • @resulgnr
    @resulgnr 5 років тому +2

    Abi sol taraftaki 1 2 3 4 5 ... bende çıkmıyor ve de senin yazdığın kodların aynısını yazıyorum çalışmıyor ? bana açıklayabilir misin?

    • @bhasvicc290
      @bhasvicc290 5 років тому +1

      Dev C++ ın sürümüne dikkat et, bende benzer bir problem yaşadım, 4.92 sürümü yüklüymüş

  • @hacker199673
    @hacker199673 7 років тому +5

    o kutucuklar d tipi flip flop devresidir

  • @ceyhunugur4631
    @ceyhunugur4631 5 років тому +2

    %p ve %u yazdığınızda neden farklı sonuçlar üretti ?

    • @muradhajiyev13
      @muradhajiyev13 5 років тому +2

      Sayı sistemleri ile ilgili birşey olmalı, yanılmıyorsam %p 16lık yani hexadecimal, %u ise 10luk yani decimal sayı sisteminde bastırıyor değeri.

    • @iamchampion5628
      @iamchampion5628 5 років тому

      @@muradhajiyev13 tam olarak öyle değil her çalıştığında farklı adreslere ekleniyor değişken olduğu için ilkini hexadesimal olarak bastırdı ikincisini normal bildiğimiz onlu tabanda

  • @erenaltin2130
    @erenaltin2130 Рік тому

    Hocam devc++ yükleyemiyırum alternatifi nedir

    • @melnowa7790
      @melnowa7790 Рік тому +1

      visual studio tercih edebilirsin

  • @ozlemefe7846
    @ozlemefe7846 3 роки тому

    çok güzel teşekkür ederiz.

  • @ercanyilmaz3159
    @ercanyilmaz3159 3 роки тому

    scanf yazarken & kullanmak zorunlu değil mi yani her scanf'te olmalı değil mi

    • @fygonen
      @fygonen 3 роки тому +1

      %s alıyorsan yazmıyorsun

  • @meserretkabakc9775
    @meserretkabakc9775 4 роки тому

    pointera başta eşitlenen değişkenin değeri sonradan değişse de pointerın adresi değişkenin ilk değerindeki adresi olarak mı kalıyor?

    • @mervepolat4740
      @mervepolat4740 3 роки тому

      Adres aynı kalır sadece değişkenin içindeki değer değişir.

  • @yunusemre6267
    @yunusemre6267 3 роки тому

    Elinize sağlık

  • @berksumeram8912
    @berksumeram8912 7 років тому +23

    fonksiyonlar yamultmuştu bu iyi geldi :D

    • @egekaganpinar9855
      @egekaganpinar9855 4 роки тому +3

      Fonksiyonları bitirdikten sonra 3 gün ara verdim dostum ben de :D

    • @HPeacer
      @HPeacer 6 місяців тому

      Are you sure about that

  • @maydonoznoz
    @maydonoznoz 5 років тому

    çok teşekkürler

  • @morgana403
    @morgana403 Рік тому

    muhteşem

  • @hasanibrahim715
    @hasanibrahim715 3 роки тому

    her bilgisayarda farkli cikiyor olmasi normal mi?

  • @DolaLado
    @DolaLado 6 років тому

    Teşekkürler.

  • @ramalseyidli2169
    @ramalseyidli2169 5 років тому

    Abi, efsanesin ya

  • @mazot2651
    @mazot2651 4 роки тому

    %u ne içinkullanılıyor acaba?

    • @michealscofield3630
      @michealscofield3630 Рік тому

      onluk sayı sistemi ile basıyor değeri. p 16lık değerini basıyor ekrana

  • @abdurrahmanfirat6579
    @abdurrahmanfirat6579 8 місяців тому

  • @Ky.rcp21
    @Ky.rcp21 4 роки тому

    Hocanın paintle imtihanı oynat bakalım .d

  • @ramazancelik7670
    @ramazancelik7670 2 роки тому

    thanks a lot

  • @Mjollnirolcam
    @Mjollnirolcam 6 років тому +1

    hocam çok güzel anlatıyorsunuz fakat o bayt değil bit olması gerek miyormu Ayrıca dev c++ herhangi bir tuşa basılıp basılmadını nerden anlarız(nasıl)

    • @mertgenc9890
      @mertgenc9890 5 років тому +1

      evet bit olması gerekiyor çünkü flip floplar bir bitlik veri saklayabilirler...

  • @ibrahimvural457
    @ibrahimvural457 10 місяців тому

    kralım

  • @alikocan3362
    @alikocan3362 4 роки тому

    bu sayı dizisi 16 lık sayı sisteminin sayı dizisi

  • @ebuodin
    @ebuodin Рік тому +1

    404=4004 ♥

  • @berkayyldz2759
    @berkayyldz2759 8 років тому

    bende de 2358852 i gösterdi tesadüf olamaz heralde 11:00

    • @kadiralpemiroglu
      @kadiralpemiroglu 8 років тому +1

      +Berkay Yıldız tamamen tesadüf, aşk tesadüfleri sever :D

    • @NateRiver-h4p
      @NateRiver-h4p 8 років тому

      +Berkay Yıldız Bende de aynı sayıyı verdi neden öyle oldu başka bir şeyi mi gösteriyor acaba :S

    • @berkayyldz2759
      @berkayyldz2759 8 років тому

      valla bilmiyom ilginç bi tesadüf ama bnce tesadüf olamaz gibi geldi

    • @NateRiver-h4p
      @NateRiver-h4p 8 років тому +1

      +Berkay Yıldız Tesadüf değil zaten ihtimal yok c galiba ilk girdiğin sayıyı hep o adresi veriyor olabilir.

    • @berkayyldz2759
      @berkayyldz2759 8 років тому +2

      2 kadir yorum yapmış hangi kadire inanaıyım hangi kadir inanır :D

  • @zaferyldrm9233
    @zaferyldrm9233 3 роки тому

    hiç bi şey anlamadım

  • @valor8854
    @valor8854 10 місяців тому

    pointer :D 😀😀😀

  • @aycansagnak5659
    @aycansagnak5659 6 років тому

    reis

  • @dunayqudretli3382
    @dunayqudretli3382 5 років тому +2

    Mantığını anlatdın da ne işimize yaradığını anlatmadın hocam

    • @yunusemre8313
      @yunusemre8313 4 роки тому

      Kanka bende oyle genel olarak nerede kullandigimizi çözdün mu

    • @dunayqudretli3382
      @dunayqudretli3382 4 роки тому

      @@yunusemre8313 vay 1 yıl geçmiş şimdi universitedeyim evet çözdüm, linked listler var, node lar var, Binary Treeler var, deque var bunlarda elemanlara ulaşmak arraylardaki gibi deil, o yüzden iterator kullanılıyo, bunlarda pointer önemli