• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nie rozumiem wskaźników. Czy zgodzi się ktoś na rozmowę skype by mi to wyjaśnić?

Object Storage Arubacloud
0 głosów
265 wizyt
pytanie zadane 2 lipca 2017 w C i C++ przez kotek312 Nowicjusz (120 p.)
3 dzień oglądam ten sam odcinek... ciągle o tym myślę i próbuje coś spleść w code block. Ale dalej nie rozumiem jak wskaźniki działają... czy zgodziłby się ktoś na rozmowę na skype gdzie wyjaśniłby mi to osobiście? Rozumiem absurdalność prośby, nie chciałem zadawać tego pytania zaśmiecając forum ale niestety już rozkładam ręce. Podobnych tematów nie znalazłem.

 

Mój skype czaro333

1 odpowiedź

+1 głos
odpowiedź 2 lipca 2017 przez piotrsz109 Stary wyjadacz (13,730 p.)
Wskaźnik jak sama jego nazwa mówi wskazuje na dany obszar pamięci RAM. Możemy się do niego odwołać pobierając wartość tego obszaru lub jego index. Jak to zrobić zapewne wiesz z odcinka. Musisz pamiętać aby na koniec usunąć wskaźnik gdyż inaczej zostanie w pamięci ram do czasu jej zresetowania
komentarz 2 lipca 2017 przez kotek312 Nowicjusz (120 p.)

tak powierchownie wiem czym jest. Ale kompletnie nie umiem ich używać, nie rozumiem jak się ich używa dlaczego raz się dodaje gwiazdkę, a raz nie... 

W tym kodzie z odcinka: 

using namespace std;
int ile;
clock_t start, stop;
double czas;

int main()
{
    cout << "Ile liczb w tablicy "; cin>>ile;

    int *tablica;
    tablica = new int [ile];

    start=clock();

    for(int i=0;i<ile;i++)
    {
        tablica[i]=i;
        tablica[i]+=50;
    }

    stop=clock();
    czas=(double)(stop-start) / CLOCKS_PER_SEC;
    cout<<"Czas ze bez wskaznika "<<czas<<endl;





    int *wskaznik = tablica;
    tablica = new int[ile];
    start=clock();
    for(int i=0; i<ile; i++)
    {
        *wskaznik = i;
        *wskaznik+=50;
        wskaznik++;
    }
    stop=clock();
    czas=(double)(stop-start) / CLOCKS_PER_SEC;
    cout<<"Czas ze wskaznikiem "<<czas;
    delete [] tablica;

    return 0;

nie rozumiem tego... czy tu jest coś takiego, że wskaźnik o nazwie tablica wskazóje na wartość int? a wskaźnik "w" wskazóje na wskaźnik tablica? Nic z tego nie rozumiem.

komentarz 2 lipca 2017 przez piotrsz109 Stary wyjadacz (13,730 p.)
Wzkaźnik zapamiętuje ci miejsce w ramie co powoduje że wartość przywoła szybciej niż normalnie tablica. Używasz * gdy odwołujesz się do wskazywanej zmiennej. Bez gwiazdki zmieniasz komórkę pamięci na którą wskazuje.
komentarz 2 lipca 2017 przez kotek312 Nowicjusz (120 p.)
a mógłbyś się odnieść do tego co napisałem na dole? Bo dręczą mnie te pytania. Nie jestem w stanie pojąć jak ten program działa.
komentarz 2 lipca 2017 przez piotrsz109 Stary wyjadacz (13,730 p.)
Czy program działa?
komentarz 2 lipca 2017 przez kotek312 Nowicjusz (120 p.)
Działa bo go praktycznie przepisałem 1do 1 z odcinka... ale jak on działa to nie mam zielonego pojęcia.
komentarz 3 lipca 2017 przez j23 Mędrzec (194,920 p.)

czy tu jest coś takiego, że wskaźnik o nazwie tablica wskazóje na wartość int?

Tak, tablica wskazuje na jakąś wartość/wartości typu int.

a wskaźnik "w" wskazóje na wskaźnik tablica?

Wskazuje na to samo miejsce co wskaźnik tablica.

Podobne pytania

0 głosów
0 odpowiedzi 259 wizyt
pytanie zadane 9 listopada 2017 w Offtop przez Daro235 Początkujący (360 p.)
0 głosów
1 odpowiedź 186 wizyt
+1 głos
1 odpowiedź 341 wizyt
pytanie zadane 9 grudnia 2018 w C i C++ przez rustacean Początkujący (380 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...