c++ arrays
kodziarz: mam pytanie odnosnie tablic w c++ tj.
czym rozni sie:
"int tab[];" od int "tab[] = { };"
18 paź 15:02
kodziarz: "int tab[x];" od int "tab[x] = { };"
18 paź 15:02
kodziarz: znowu literówka
do trzech razy sztuka...
"int tab[x];" od "int tab[x] = { };"
18 paź 15:03
52: int tab[x] − inicjalizujesz stworzenia tablicy
int tab[x] = { } − inicjalizujesz stworzenie tablicy, ale możesz przypisać jakieś wartości do
poszczególnych indeksów
Z tego co pamiętam, mam nadzieję że dobrze pamiętam
18 paź 15:47
kodziarz: nie jestem pewien, ale po kilku próbach wydaje mi się, że "int t[x]={};" powoduje przypisanie
dla kazdego elementu wartości 0,
natomiast samo "int t[x];" powoduje, ze elementy zawierają jakieś smieci i trzeba je tak czy
inaczej wyzerowac, jesli chcemy uzyć tych elementów do jakiś działan matematycznych lub
przypisac im jakies wartosci
nie jestem pewien, czy dobrze to wykombinowałem, dlatego liczę na potwierdzenie
18 paź 15:51
52: int tab[4]; −tablica która ma 4 elementy
int tab[4]={5 1 7 3}; −tablica, która ma 4 elementy i do tego zerowy element ma wartość 5
pierwszy element tej tablicy ma wartość 1
drugi element tej tablicy ma wartość 7
trzeci element tej tablicy ma wartość 3
18 paź 15:57
Dziadek Mróz:
int tab1[4]; // deklaracja tablicy
int tab2[4] = {1, 2, 3, 4} // inicjalizacja tablicy
tab1 ma wartości domyślne przydzielone przez gcc, coś jak:
int a; std::cout << a; → 13223435
tab2 ma wartości [1, 2, 3, 4], coś jak:
int a = 4; std::cout << a; → 4
18 paź 16:19
52: oooo otóż to
Dziadku będziesz miał czas dzisiaj po 20:30 ?
18 paź 16:59
Dziadek Mróz:
Mam teraz nocki i nie będzie mnie od 20 − 6 dnia kolejnego
18 paź 17:35
Dziadek Mróz:
A tablice najlepiej pisać tak:
int *tab = new int[4];
...
delete tab;
Na ten przykład:
− deklaracja:
#include <iostream>
int main(int argc, char* argv[])
{
int *tab = new int[4];
for (size_t i = 0; i < 4; i++)
{
std::cout << " " << tab[i];
}
std::cout << std::endl;
delete tab;
return 0;
}
Output: " 4064264 4064264 1348229453 1869116537"
− inicjalizacja:
#include <iostream>
int main(int argc, char* argv[])
{
int *tab = new int[4];
tab[0] = 1; tab[1] = 2; tab[2] = 3; tab[3] = 4;
for (size_t i = 0; i < 4; i++)
{
std::cout << " " << tab[i];
}
std::cout << std::endl;
delete tab;
return 0;
}
Output: " 1 2 3 4"
18 paź 17:44
kodziarz: Dziadek Mróz jak zawsze 10/10. Dzięki!
18 paź 19:30