Typy złożone w C++ – tablice

Wstęp

Najprościej opisać typy złożone jako typy budowane na bazie typów podstawowych. To w jaki sposób będą one przechowywane, jak będziemy się do nich odnosić, gdzie fizycznie będą przechowywane zależeć już będzie od specyfikacji konkretnego typu złożonego.  W dzisiejszym wpisie omówię pierwszy z serii typ złożony – tablice.

Tablica jest strukturą danych umożliwiającą przechowywanie wielu wartości konkretnego typu. Aby zadeklarować poprawnie tablicę należy:

  • przedstawić typ jej elementów
  • podać jej nazwę
  • sprecyzować jej pojemność.

Posłużę się przykładem aby przybliżyć ten opis.

int numbers[50];

Powyższa deklaracja utworzyła tablicę 50 elementów, do których możemy odwoływać się poprzez indeksy tablicy. Tablica n elementowa ma indeksy od 0 (pierwszy element) do n-1 (ostatni element tablicy).

Inicjalizacja

W c++ tablicę można zainicjalizować w następujący sposób:

// Inicjalizacja tablicy wartościami przypadkowymi, które znajdowały się w pamięci pod adresem utworzonej tablicy
int numbers1[2];

// inicjalizacja tablicy wartościami 100 oraz 200
int numbers2[2] = { 100,200 }; 

// inicjalizacja pierwszego elementu tablicy wartością 100, pozostałe wartości inicjalizowane są automatycznie wartościami 0
int numbers3[2] = { 100 }; 

// wszystkim elementom tablicy przypisywana jest wartość 0
int numbers4[2] = {}; 

// wszystkim elementom tablicy przypisywana jest wartość 0
int numbers5[2]{};

// w tym przypadku mimo braku sprecyzowania liczby elementów w nawiasach, kompilator policzy liczbę elementów inicjalizujących tablicę I stworzy tablicę o takim właśnie rozmiarze
int numbers5[] = {100,200,300}; 

Aby bardziej przybliżyć powyższe formułki, zaprezentuję prosty przykład, w którym zapiszemy 5 liczb całkowitych podanych przez użytkownika do tabeli obliczając jednocześnie ich sumę.

#include "stdafx.h"
#include <iostream>;
using namespace std;

int main()
{

const int count = 5;
int numbers[count];
int sum = 0;
for (int i = 0; i &lt; count; i++)
{
  cout << "numbers[" << i << "] = ";
  cin >> numbers[i];
  sum += numbers[i];
}

cout << endl << "Suma wszystkich podanych liczb wynosi " << sum << endl;
cout << "Rozmiar tablicy w bajtach sizeof(numbers) = " << sizeof(numbers) << endl; // 5 * sizeof(int)

cin.get();
cin.get();
return 0;
}

Podsumowanie

Tablice to struktura danych, która umożliwa nam na przechowywanie wielu wartości tego samego typu w jednym obiekcie. Do jej wartości odwołujemy się poprzez indeksy, gdzie indeks pierwszego elementu to 0, a ostatniego to n-1; gdzie n to liczba elementów. Używając operatora sizeof(nazwa_tablicy) otrzymamy liczbę bajtów jaką zajmuje nasza tablica.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *