1 / 3
Jun 2009

Witam, mam pytanie dotyczące deklaracji tablic, a konkretnie nadawania elementom tablicy wartości.
Mam 2 kody:
1.

#include <iostream>
using namespace std;
int main()
{
  int tab[20];
  for (int i = 0; i < 20; i++)
    cout << tab[i] << "\n";
  return 0;
}

2.

#include <iostream>
using namespace std;
int tab[20];
int main()
{
  for (int i = 0; i < 20; i++)
    cout << tab[i] << "\n";
  return 0;
}

(dla mniej spostrzegawczych: w 1. kodzie deklaracja jest w main(), w 2. kodzie globalnie)
i odpowiadające outputy:
1.

2433848
2009226388
2009079944
-1
2009187278
2359064
8
2359264
2009226388
2009079920
-1
2009187043
2009249812
205904
205872
8
2009247405
1069365696
30010224
2359208

2.

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

Tak więc, czy mogę w ciemno założyć, że elementy tablicy zadeklarowanej globalnie zawsze przyjmą wartość domyślną i nic niepożądanego z tą tablicą mi się nie stanie (cokolwiek by to miało znaczyć smiley)?

  • created

    Jun '09
  • last reply

    Aug '09
  • 2

    replies

  • 253

    views

  • 3

    users

1 month later

Każdy obiekt deklarowany globalnie (zmienna, tablica) ma przypisane 0, jedynie obiekty lokalne mają w sobie śmieci