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

question-closed Proste pytanie związane ze zmiennymi

0 głosów
224 wizyt
pytanie zadane 27 marca 2020 w C i C++ przez Nabuchadonozor Gaduła (3,120 p.)
zamknięte 27 marca 2020 przez Nabuchadonozor

Witam wszystkich serdecznie,

otóż napotkałem się z sytuacją, gdzie deklarując zmienną w MAIN'ie, a potem od razu bez jej inicjalizacji wywołuję = kompilator pokazuje błąd = logiczne. Jednakże kiedy tą zmienną zadeklaruję POZA main'em, bez inicjalizacji wywołując ją = pokazuje kompilator cyfrę = 0. Mógłby ktoś to wytłumaczyć, dlaczego tak dzieje się, czy to błąd VS, czy taka rzeczywistość... 

#include <iostream>

using namespace std;

int rozmiar;

int main()
{
    cout << rozmiar; // pokazuje 0
}

 

komentarz zamknięcia: odpowiedź użytkownika tkz

1 odpowiedź

+1 głos
odpowiedź 27 marca 2020 przez tkz Nałogowiec (42,040 p.)

3.5.7,  C89 

If an object that has static storage duration is not initialized explicitly, it is initialized implicitly as if every member that has arithmetic type were assigned 0 and every member that has pointer type were assigned a null pointer constant.

http://www.iso-9899.info/n1570.html C11

6.7.9 [Initialization]
If an object that has automatic storage duration is not initialized explicitly, its value is
     indeterminate. If an object that has static or thread storage duration is not initialized
     explicitly, then:
     -- if it has pointer type, it is initialized to a null pointer;
     -- if it has arithmetic type, it is initialized to (positive or unsigned) zero;
     -- if it is an aggregate, every member is initialized (recursively) according to these rules,
        and any padding is initialized to zero bits;
     -- if it is a union, the first named member is initialized (recursively) according to these
        rules, and any padding is initialized to zero bits;
komentarz 27 marca 2020 przez Nabuchadonozor Gaduła (3,120 p.)
Dzięki za odpowiedź!

Podobne pytania

0 głosów
0 odpowiedzi 1,566 wizyt
pytanie zadane 12 marca 2020 w C i C++ przez Nabuchadonozor Gaduła (3,120 p.)
+1 głos
1 odpowiedź 619 wizyt
0 głosów
1 odpowiedź 394 wizyt

93,741 zapytań

142,676 odpowiedzi

323,294 komentarzy

63,323 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...