Etap 1: Podstawowe typy danych w C++ - Kompendium
Szczegółowe omówienie typów danych w C++ z uwzględnieniem rozmiarów pamięci i najczęstszych błędów na kolokwiach.
Fundamenty: Typy danych w C++
Zrozumienie, jak komputer przechowuje dane, jest kluczowe, szczególnie gdy Twoje rozwiązanie musi być wydajne i poprawne pod względem pamięciowym. Na kolokwium musisz znać specyfikę każdego z podstawowych typów.
1. Typy Całkowitoliczbowe
Służą do przechowywania liczb bez części ułamkowej. Warto pamiętać o ich zakresach:
int: Zazwyczaj 4 bajty. Standardowy wybór dla liczników pętli i małych liczb.short: Zazwyczaj 2 bajty. Używany rzadko, gdy oszczędność pamięci jest krytyczna.long long: Minimum 8 bajtów. Niezbędny, gdy operujesz na miliardach (np. w algorytmach kombinatorycznych).
int a = 10;
long long b = 9000000000000000000LL; // Zauważ przyrostek LL2. Typy Zmiennoprzecinkowe
Używane do reprezentacji liczb rzeczywistych. Różnią się precyzją, czyli liczbą cyfr po przecinku, które są przechowywane dokładnie.
float: 4 bajty, precyzja ok. 7 cyfr dziesiętnych.double: 8 bajtów, precyzja ok. 15-17 cyfr dziesiętnych. Zalecany na kolokwiach dla uniknięcia błędów zaokrągleń.
double pi = 3.1415926535;
float f_pi = 3.14f; // Przyrostek f wymusza typ float3. Typ Znakowy i Logiczny
char: 1 bajt. Przechowuje kod ASCII znaku. Ważne: literał znaku zapisujemy w apostrofach:'A'.bool: 1 bajt (mimo że potrzebuje tylko 1 bita). Przyjmujetrue(1) lubfalse(0).
char znak = 'X';
bool czyZaliczone = true;Operator sizeof
Częstym pytaniem na kolokwiach jest sprawdzenie rozmiaru typu na danej architekturze. Służy do tego operator sizeof.
std::cout << "Rozmiar int: " << sizeof(int) << " bajty" << std::endl;Kluczowe pułapki na kolokwium:
- Brak inicjalizacji: Zmienna zadeklarowana lokalnie (np.
int x;) bez przypisania wartości ma wartość losową („śmieci w pamięci”). Zawsze piszint x = 0;. - Przepełnienie (Overflow): Dodanie 1 do maksymalnej wartości
intspowoduje „przekręcenie się” licznika na wartość minimalną (ujemną). Jeśli spodziewasz się ogromnych liczb, użyjlong long. - Dzielenie przez zero: Operacja
x / 0spowoduje natychmiastowe przerwanie programu (Crash). Zawsze sprawdzaj mianownik przed dzieleniem.
Może Cię zainteresować
Referencje w C++: Poznaj „Ksywki” Twoich Zmiennych
Zrozum referencje raz a dobrze. Czym różnią się od wskaźników? Jak używać operatora & w deklaracjach? Przewodnik krok po kroku.
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.
Etap 10: Wskaźniki, operator adresu i dereferencji
Zrozumienie fundamentów adresowania pamięci w C++: jak działają wskaźniki i operatory niskopoziomowe.