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

Proszę o małe wyjaśnienie dot. tablic.

Object Storage Arubacloud
0 głosów
169 wizyt
pytanie zadane 14 stycznia 2016 w C i C++ przez Kyoya Początkujący (260 p.)

Witam. Mam krótkie pytanko. Mamy tablice - statyczne oraz dynamiczne. I ciągle zastanawia mnie jedna rzecz, a na moje pytanie odpowiedzi doszukać się nie mogę. :)

Otóż mamy sobie dynamiczne tablice i co do nich sprawa jest jasna. Dzięki nim możliwa jest alokacja pamięci podczas działania programu. Ale nie bardzo wiem jak określić taki przypadek:

#include <iostream>

using namespace std;

int main()
{
       int rozmiar;
       cout << "Podaj rozmiar: ";
       cin >> rozmiar;
       int tablica[rozmiar];
       return 0;
}

W takim programie, rozmiar tablicy również ustalany jest w trakcie działania programu. W takim razie co tutaj tak w ogóle zachodzi? Dynamiczna alokacja to to nie jest, ale też do końca statyczna tablica też nie. Przynajmniej ja nie mam najmniejszego pojęcia jak o tym myśleć. Proszę bardziej doświadczonych o odpowiedź na moje pytanie. :)

2 odpowiedzi

+2 głosów
odpowiedź 14 stycznia 2016 przez Radfler VIP (101,030 p.)

Jest to tzw. VLA, czyli tablica statyczna (a co za tym idzie alokowana na stosie) o rozmiarze ustalonym rozmiarze w czasie działania programu. Nie polecam korzystania z tej funkcji, gdyż nie wszystkie kompilatory to wspierają.

komentarz 14 stycznia 2016 przez Kyoya Początkujący (260 p.)
Czyli można to nazwać taką tablicą statyczną, która próbuje udawać dynamiczną, ale jest alokowana na stosie? Jest możliwość, że jakiś kompilator podczas kompilacji wyrzuci mi błąd, kiedy spotka się z takim kodem? :)
komentarz 14 stycznia 2016 przez Radfler VIP (101,030 p.)

No, można tak powiedzieć. Przeczytaj artykuł, który dałem Ci w linku, a dowiesz się więcej.

I tak jest możliwość, że kompilator wyrzuci Ci błąd. Mój np. tak robi:

0 głosów
odpowiedź 14 stycznia 2016 przez Kyoya Początkujący (260 p.)
Okej, już kumam. Dziękuję Wam ślicznie. :)

Podobne pytania

0 głosów
1 odpowiedź 279 wizyt
0 głosów
2 odpowiedzi 237 wizyt
pytanie zadane 11 maja 2015 w C i C++ przez cartel13 Nowicjusz (160 p.)
0 głosów
1 odpowiedź 142 wizyt

92,583 zapytań

141,433 odpowiedzi

319,668 komentarzy

61,966 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!

...