023 - Programski jezik C - Pokazivači

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

КОМЕНТАРІ • 25

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

    Svaka čast! Pomaže Bog!

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

    Savršeno objašnjeno. Treba mi sad na faksu. Jako korisno

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

    Odlično objašnjenje.

  • @swipped99
    @swipped99 4 роки тому +6

    Svaka cast Milane, objasnjavate bolje nego bilo koji moj univerzitetski profesor / asistent. Pitanje jedno: da li postoji sansa da napravite neki serijal o Spring / Spring Boot razvojnom okruzenju?
    Pozdrav iz Sarajeva!

    • @MilanTair
      @MilanTair  4 роки тому +4

      Hvala. Drago mi je da Vam se sviđa način na koji objašnjavam. Što se tiče Spring, neću nikada snimati videe za tako nešto. Ne podržavam taj razvojni okvir.

    • @bogdanjovanovic2737
      @bogdanjovanovic2737 9 місяців тому

      @@MilanTair Pozdrav, da li mogu da Vas zamolim da objasnite zašto ne podržavate Spring Boot framework? Hvala!

    • @MilanTair
      @MilanTair  9 місяців тому +1

      Kod JS (Node), prednost je asinhronost i jedan jezik sa obe strane, kao i veliki broj biblioteka, što omogućava lakše rukovanje višestrukim zahtevima bez blokiranja, što Java Spring Boot teže postiže, jer Java SB u.osnvovi koristi sinhroni model, osim ako želite da ga proširite nitima... Nema poente, niti potrebe i otežava deljenje resursa. Da ne pominjem Java-in overhead... u svakom mogućem smislu.

    • @bogdanjovanovic2737
      @bogdanjovanovic2737 9 місяців тому

      @@MilanTair Hvala na odgovoru. Da li ste možda nekada koristili Ruby on Rails i ako jeste kakvo je Vaše mišljenje o tom frameworku?

    • @MilanTair
      @MilanTair  9 місяців тому

      Ne znam Ruby. Nisam nikada imao želju da naučim taj jezik, pa mi ni Rails razvojni okvir nije poznat. Znam svakako da od 2017. Node.js je pretekao Ruby on Rails i od tada linearno preuzima svaki % popularnosti koji je R/R imao.

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

    Milane, da nije Vaših dragocenih videa, ne znam da li bih ikada nastavio da učim da programiram. Blago Vašim studentima i blago Vašim kolegama s posla!
    Pozdrav

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

      Drago mi je što Vam moje lekcije pomažu da nastavite usavršavanje u ovoj oblasti. Hvala.

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

    Zdravo Milane,
    Ako sam dobro razumio, svaki bajt ima svoju jedinstvenu adresu. U primjeru short tipa to su dva bajta, znaci dvije adrese (kod vecine ostalih tipova jos vise). Ako neka promjenljiva zauzme taj prostor ona popunjava te dvije adrese. Ono sto me zanima jeste, ako pokazivac vraca jednu adresu, koju od ove dvije adrese on vrati, jer je promjenjiva popunila obe adrese na dva bajta?

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

      U memoriji, jedna adresa ukazuje na jedna bajt. Neki tipovi podataka imaju veću širinu, tj. zauzimaju više bajtova. Pokazivači na takve podatke pokazuju uvek na adresu prvog bajta u nizu koji prikazuju taj neki podatak. Dakle, ako imate podatak short tipa negde u memoriji, taj podatak zauzima dva bajta, ali njegova adresa je adresa prvog od njegova dva bajta. Kada napravimo pokazivač na taj podatak, taj pokazivač sadrži u sebi adresu prvog bajta tog podatka u memoriji.

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

    6:49 Pozdrav Milane, imam pitanje u vezi sa samim tipom pokazivaca.
    Nije mi jasna deklaracija pokazivaca double *racun;
    Zar nije pokazivac unsigned celobrojna vrednost jer pokazuje na adresu?

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

      Ovaj tip double pomaže da se zna da taj pokazivač upućuje na memorijsku lokaciju gde je podataka koji treba tretirati kao double i da se prilikom uvećanja pokazivala za 1, pomerimo unapred za broj bajtova tipa double.

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

      @@MilanTair Hvala na odgovoru!

  • @danilojonic
    @danilojonic 3 місяці тому

    20:32 zar nije i null terminator ('\0') pripadnik ovog niza? Mozda sam pomesao sa niskama.

    • @MilanTair
      @MilanTair  3 місяці тому

      To se odnosi samo na nizove karaktera, char[], odnosno na stringove.

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

    Da li ce program izvrsavati isto ako zamijenimo p=&b; i *p=a; tj.da li ce biti isti rezultat na kraju.

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

      Prvo je da pokazivač uputimo na adresu promenljive b, a drugo je da na adresu na koju pokazuje pokazivač upišemo vrednost promenljive a. To su dve sasvim drugačije stvari. Za ovaj konkretan program iz primera, rezultat će biti isti, jer su prosto tako postavljene vrednosti i zavisnosti među promenljivama, ali to nije isto i ne važi uvek. Morate znati kada želite da promenite gde pokazivač upućuje, a kada da tamo gde trenutno upućuje da upišete neku vrednost.

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

    Занима ме шта би се десило ако би смо направили показивач који показује на неку променљиву и покушали да увећамо адресу на коју показивач показује (p++) и да на ту адресу упишемо неку вредност? Претпостављам да овако нешто није могуће урадити, али ме занима због чега тачно. Хвала унапред!

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

      Nekada davno, na bezbednim operativnim sistemima je bilo moguće. Sada OS pazi da de to ne može desiti.
      Razlog... evo primera: Neko koristi aplikaciju gde je u memoriji u neku (niz karaktera) upisan broja platne kartice. Vi napravite program koji napravi pokazivač na adresu 0, pa krenete redom da uvečavate pokazivač za 1 do kraja RAM-a (RAM surfing) i tražite delove gde se nalaze uzastopno karakteri koji liče na cifre broja platne kartice i ukradete ih. Npr. to je banalni primer, ali ilustruje zašto tako nešto nije dozvoljeno.