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

Wskaźnik na strukturę - pamięć

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
+1 głos
441 wizyt
pytanie zadane 1 marca 2019 w C i C++ przez LubieNalesniki Użytkownik (610 p.)
#include <iostream>

using namespace std;

typedef struct elListy
{
    int klucz; //4Bajty
    int portfel; //4Bajty
    struct elListy * nast; // 4Bajty ??
};


int main()
{

    cout << sizeof(elListy) << endl; // Zwraca 12
    return 0;
}

Rozumiem, że dwie zmienne typu int zajmują 2 x 4B, wiec wychodzi na to, że na wskaźnik:

struct elListy * nast

przypada 4B. Dlaczego?

3 odpowiedzi

+3 głosów
odpowiedź 1 marca 2019 przez jpacanowski VIP (101,940 p.)
edycja 1 marca 2019 przez jpacanowski
Wskaźnik (w tym wypadku wskazujący na kolejną listę) to zawsze słowo procesora, czyli 32-bitowy (4 bajty) adres pamięci (2^32) na architekturze 32-bitowej.
+1 głos
odpowiedź 1 marca 2019 przez criss Mędrzec (172,570 p.)
Wskaźnik przetrzymuje adres. Nie ma żadnego związku z rozmiarem tego na co wskazuje.
+1 głos
odpowiedź 2 marca 2019 przez Marcin Siniarski Gaduła (4,420 p.)
Jest to wskaźnik. Wskaźnik trzyma w sobie adres - liczbę.
x86 (32 bity) - 4 bajty, x64 (64 bity) - 8 bajtów

Podobne pytania

0 głosów
2 odpowiedzi 289 wizyt
pytanie zadane 9 stycznia 2018 w C i C++ przez lambdag Obywatel (1,310 p.)
0 głosów
2 odpowiedzi 1,076 wizyt
pytanie zadane 30 października 2018 w C i C++ przez Alan Kruszyński Obywatel (1,410 p.)
0 głosów
1 odpowiedź 1,435 wizyt

93,440 zapytań

142,431 odpowiedzi

322,678 komentarzy

62,802 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

...