wleci
O mnieProjektyBlogKontakt
Kontakt
Wróć do bloga
TablicePamięćPodstawy

Etap 3: Tablice automatyczne, jednowymiarowe w C++

Przewodnik po statycznych tablicach jednowymiarowych: deklaracja, inicjalizacja i bezpieczna iteracja.

11 lutego 20263 min czytania
Udostępnij:

Tablice jednowymiarowe (automatyczne)

Tablica to struktura danych pozwalająca przechowywać wiele elementów tego samego typu w ciągłym obszarze pamięci. Termin „automatyczna” oznacza, że pamięć dla niej jest rezerwowana na stosie w momencie deklaracji i zwalniana automatycznie po wyjściu z bloku kodu.


1. Deklaracja i Inicjalizacja

W C++ rozmiar tablicy automatycznej musi być znany w momencie kompilacji (musi być stałą).

cpp
const int ROZMIAR = 5; int tablica[ROZMIAR]; // Deklaracja - zawiera przypadkowe wartości int liczby[5] = {10, 20, 30, 40, 50}; // Inicjalizacja pełna int czesciowa[5] = {1, 2}; // Reszta (indeksy 2, 3, 4) zostanie wyzerowana int wyzerowana[100] = {0}; // Szybki sposób na wyzerowanie całej tablicy

2. Dostęp do elementów

Elementy tablicy są indeksowane od 0 do N-1, gdzie N to liczba elementów.

cpp
int t[3] = {5, 10, 15}; std::cout << t[0]; // Wypisze 5 t[2] = 100; // Zmienia 15 na 100

3. Iteracja po tablicy

Najskuteczniejszym sposobem operowania na tablicy jest pętla for. Pamiętaj o używaniu stałej określającej rozmiar, aby uniknąć błędów.

cpp
#include <iostream> int main() { const int N = 10; int dane[N]; // Wypełnianie tablicy danymi od użytkownika for (int i = 0; i < N; i++) { std::cout << "Podaj element " << i << ": "; std::cin >> dane[i]; } // Wyświetlanie tablicy od tyłu for (int i = N - 1; i >= 0; i--) { std::cout << dane[i] << " "; } return 0; }

Krytyczne uwagi na kolokwium

  1. Brak sprawdzania zakresu: C++ nie sprawdza automatycznie, czy wychodzisz poza zakres tablicy. Próba zapisu do tablica[10] przy rozmiarze 10 może nadpisać inne zmienne lub spowodować błąd Segmentation Fault. To najczęstsza przyczyna „wywalania się” programów na kolokwiach.
  2. Rozmiar tablicy a zmienna: Zgodnie ze standardem C++, nie powinno się deklarować tablicy o rozmiarze podanym przez użytkownika w ten sposób: int n; cin >> n; int tab[n]; (jest to tzw. VLA - Variable Length Array, który nie jest częścią standardu C++, choć niektóre kompilatory go dopuszczają). Na kolokwium bezpieczniej użyć dużej stałej: const int MAX = 1000; int tab[MAX];.
  3. Kopiowanie tablic: Nie możesz skopiować tablicy przez zwykłe przypisanie tab1 = tab2;. Musisz zrobić to element po elemencie w pętli.

Przykład: Znajdowanie maksimum w tablicy

cpp
int max = dane[0]; for (int i = 1; i < N; i++) { if (dane[i] > max) { max = dane[i]; } } std::cout << "Największa wartość: " << max;

Może Cię zainteresować

WskaźnikiPamięć

Etap 11: Arytmetyka wskaźników w C++

Zrozumienie, jak C++ operuje na adresach pamięci. Dowiedz się, dlaczego ptr++ to coś więcej niż dodanie jedynki.

3 min czytania
WskaźnikiZarządzanie pamięcią

Etap 10: Wskaźniki, operator adresu i dereferencji

Zrozumienie fundamentów adresowania pamięci w C++: jak działają wskaźniki i operatory niskopoziomowe.

3 min czytania
NapisyStyl C

Etap 6: Obsługa napisów w stylu C (char[])

Przewodnik po niskopoziomowym przetwarzaniu napisów jako tablic znaków zakończonych zerem, zgodnie z ograniczeniami kolokwium.

3 min czytania
Wróć do bloga
wleci.pl

Full-stack Developer

Tworzę nowoczesne aplikacje webowe z pasją do czystego kodu i dobrego designu.

[email protected]
Polska

Nawigacja

  • Start
  • O mnie
  • Projekty
  • Blog
  • Kontakt

Usługi

  • Aplikacje webowe
  • Strony internetowe
  • API & Backend
  • Konsultacje

Technologie

  • React / Next.js
  • TypeScript
  • Node.js
  • PostgreSQL

Social

© 2026 wleci.pl. Wszelkie prawa zastrzeżone.

Polityka prywatności•Regulamin

Zrobione z w Polsce