Cześć i witaj.
W tym wykładzie chcę porozmawiać o inicjalizacji tablicy.
Wiemy, jak korzystać z tablicy, wiemy, jak stworzyć tablicę.
A konkretnie, co jeśli chcesz aby przypisać określone wartości początkowe do tablicy,
jak to zrobić?
Więc będziesz chciał przypisać inicjał wartości elementów tablicy przez
większość czasu.
Powód, dla którego chcesz przypisać wartości początkowe
do tablicy lub nawet do zmiennych, ponieważ ułatwia
wykrycie nieprawidłowości.
Gdy nie masz danych początkowych i spróbujesz coś zrobić, możesz spowodować
problemy w swoim programie.
Więc inicjalizacja jest bardzo dobra rzecz i zawsze chcesz to zrobić.
A używając tablicy, jest wiele, wiele elementów w tablicy.
Jest więc na to szczególny sposób możesz zainicjalizować te elementy.
Jest inny składnia, której możesz użyć.
Ale inicjalizacja to dobra rzecz i zawsze chcesz to zrobić.
Chciałem szybko porozmawiać, jak możesz zrobić tablicę, ponieważ można to
zrobić na różne sposoby.
Więc tak jak możesz przypisać inicjały wartości do zmiennych,
gdy są zadeklarowane, możesz również przypisać początkowe wartości
elementów tablicy, gdy jest zadeklarowana.
Aby zainicjować wartości tablicy, ty po prostu podaj wartości na liście.
Lista jest oddzielona przecinkami a cała lista jest ujęta
w parę nawiasów klamrowych.
Wygląda mniej więcej tak.
Tutaj tworzymy plik tablica o nazwie counters.
Jest typu int, ma 5 elementów.
A potem to, co robimy, to my mają nawiasy klamrowe
i nie używamy tutaj żadnych indeksów.
Zauważysz, że właśnie to zrobiliśmy liczby oddzielone przecinkami.
To, co to robi, to ustawienie wszystkie 5 elementów w tablicy counters na
0, każdy z elementów ma wartość 0.
Jeśli mamy inną tablicę i nazwiemy ta tablica liczb całkowitych, a także ma rozmiar
5, a następnie mamy w naszym nawiasy klamrowe po operatorze
przypisania 0 przecinek 1 przecinek 2 przecinki 3 przecinek 4, co to robi?
Przypisuje pierwszą liczbę całkowitą element integers tablica na 0,
drugi element na 1, trzeci element na 2, czwarty element na 3, a
piąty element na 4.
Tam, gdzie możesz, to ładna składnia natychmiast zainicjuj tablicę, gdy ją
zadeklarujesz, po prostu podając liczby oddzielone przecinkami w nawiasach i
chcesz to zrobić.
Nie jest też konieczne, aby całkowicie zainicjuj całą tablicę.
Więc w tych 2 poprzednich przykłady, zainicjowaliśmy wszystkie 5
elementów tablicy o rozmiarze 5.
A co jeśli tylko chcesz zainicjować niektóre wartości?
Jeśli podasz wartości początkowe które nie są równe liczbie rozmiaru tablicy, a następnie pozostałe wartości są ustawione na 0.
Więc jeśli zrobisz coś takiego w tym przypadku
masz tablicę o nazwie przykładowe dane typu flow, zawiera 500 elementów.
Ale wszystko w szelkach kręconych widzisz tutaj są nasze 3 elementy.
To, co to zrobi, to zainicjalizuje
pierwsze 3 wartości próbki tablica danych do 100 300 500. 5.
A potem pozostałe 5 497 elementy będą równe 0.
Więc nie musisz określ wszystko.
Jest też taka koncepcja wyznaczonego inicjatora.
To zostało wprowadzone, jak sądzę, w C99.
To fajna mała funkcja, w której ty możesz wybrać i wybrać elementy,
które chcesz zainicjalizować.
Myślę, że w C99 dodali to i następnie w C11 uczynili to opcjonalnym.
Więc w zależności od tego, jaki kompilator masz, możesz to
zrobić lub nie.
Ale chcę o tym wspomnieć ponieważ jest dość powszechne.
Niektóre kompilatory nie pozwolą zrobić to po C99.
Ale jest fajnie, bo możesz właściwie po prostu wybierz i wybierz.
Możesz więc zawrzeć element liczbę w nawiasach, a następnie określ elementy tablicy
które można zainicjować i można to zrobić
w dowolnej kolejności.
Oto przykład.
Ponownie mamy naszą przykładową tablicę danych.
Jest typu float.
Będzie miał rozmiar 500.
Ale tutaj w naszym kręconym nawiasy klamrowe, mamy dodatkowe indeksy.
Mamy nawiasy w dwóch, mówi nawiasy 2 pod-2 równa się 500. 5, pod-1 równa się
300. 0 i sub-0 równa się 100. 0.
Są oddzielone przecinkami.
Wszystko to ma na celu określenie to samo, co w poprzednim przykładzie,
ale tak jest robiąc to w innej kolejności.
Ale nadal będziesz to robić mieć elementy 0 lub pierwszy element
równy 100, drugi element równy 300, a trzeci album
równy 500. 5.
Ale określamy jaki indeks zainicjować bezpośrednio w
nawiasach klamrowych.
Kolejny przykład tutaj mamy int tablica o nazwie arr, ma rozmiar 6.
A kiedy to deklarujemy, jesteśmy inicjalizacja piątego elementu,
który jest ostatnim elementem do 212, wszystkie elementy będą miały wartość 0.
Oto przykład tradycyjnego inicjalizacja, w której po prostu deklarujesz
nazwę swojej tablicy i podasz wiele różnych liczb.
W tym przykładzie deklarujemy tablica i będzie
przechowywać wszystkie dni każdego miesiąca.
A więc kiedy przez to przechodzimy tablica, a my
ją drukujemy, co jest bardzo powszechne, zwykle używasz pętle do drukowania elementów w tablicy
lub przynajmniej iteracji po nich.
To, co tu robimy, to to, że jesteśmy zamierzam po prostu wydrukować
każdy miesiąc i ile ma dni.
Przejdźmy więc przez kod bloki, aby pokazać wynik.
Oto nasz przykład.
Mamy dni i miesiące i inicjalizujemy tablicę.
Pierwszy element 31, następne 28, następne 31.
Zauważyłeś również w linii 10, jesteśmy użycie definicji do utworzenia stałej.
A tak przy okazji, w c możesz też użyj stałego słowa kluczowego, o którym
będziemy mówić i innych rzeczy inny sposób tworzenia stałych.
Ale teraz tylko rozmawiamy o tablicach
i ich inicjalizacji, bardzo łatwe do zrobienia, rozdzielone przecinkami w nawiasach klamrowych.
Więc co to będzie wyświetlać czy
przejdzie przez tablicę i będzie na nią patrzeć indeks plus 1, a następnie indeks dni.
A więc będzie to miesiąc 1 ma liczbę dni w zależności od
wartości.
Więc uzyskujemy dostęp do indeksu przez nazwę tablicy, a następnie wartość
indeksu, czyli indeks value i używamy tablicy.
Więc to jest zmienna zmienia się w każdej iteracji.
Więc próbujemy to uruchomić.
Wynik, do którego masz zamiar zobacz to miesiąc pierwszy ma 31 dni, miesiąc 2 ma
28 dni Styczeń Luty Marzec Kwiecień, ale właśnie przechodzi
przez tablica i wypisuje dni.
Więc to dowodzi, że inicjalizacja działa.
I znowu będziesz chciał aby zainicjować swoje dane.
Porozmawiajmy teraz o innym przykład i porozmawiaj o powtarzaniu
elementów inicjalizacyjnych.
Oto kolejny przykład, ale w tym przykładzie
użyjemy wyznaczonego inicjatora.
Zamierzamy określić dokładnie elementy, które chcemy zainicjalizować.
Więc główna linia, którą powinieneś Zauważ, że tutaj jest
ten, który mówi do dni i miesięcy, gdzie robimy naszą inicjalizację.
Zauważysz wewnątrz kręcone nawiasy,
które pierwszy element otrzymuje 31, drugi 28, ale jest też coś
w nawiasach kwadratowych, które mówi 4, otrzyma wartość 31.
Następnie mamy przecinek, element 5 otrzyma 30, element
6 otrzyma 31.
A potem mamy 1.
Oznacza to, że teraz będziemy nadpiszemy 28, a tak naprawdę
wstawimy 29, wstawimy jako 29.
Więc tutaj jest to trochę zbędne.
Naprawdę nie musimy tego robić, ale tak
naprawdę usunąłbyś sub-1, ponieważ 31 i 28, sub-1 jest już tutaj przypisany.
Ale wygląda na to, że mówimy sub-1 może mieć również wartość 29.
Więc to jest po prostu użycie wyznaczone inicjatory.
A co jeśli zechcemy powtórz tę samą wartość.
Teraz w c zawsze możesz zainicjuj całą tablicę o tej
samej wartości, jeśli określisz 0.
Zawsze możesz zainicjować jest jak parametr null.
Ale poza tym c nie udostępnić wszelkie mechanizmy skrótów do
inicjalizacji tablicy elementy, przynajmniej nie w C89.
Możesz znowu zobaczyć w C11, gdzie jesteś może zainicjować tę samą wartość w
całej tablicy, używając tylko nawiasów bez indeksu, tylko liczba.
Ale teraz w C89 i C99 jest nie ma możliwości określenia liczby powtórzeń.
Nie ma sposobu, aby opisać wszystkie elementy tego promienia powinno na przykład wynosić 55.
Więc jeśli początkowo było to pożądane ustaw wszystkie 500
wartości przykładowych danych na 1, wszystkie 500 miałyby być wyraźnie przypisane, co byłoby
dużym bólem w tyłku.
Więc to, co ostatecznie zrobisz, to będziesz po prostu umieść je w pętli.
Najłatwiejszy sposób na iterację przez tablicę użyj pętli.
Oto szybki przykład jak można zainicjować wszystkie elementy do
tej samej wartości.
W tym przypadku jednak jesteśmy inicjalizacja pierwszych
elementów do 0 1 4 9 i 16.
Więc to jest tak naprawdę tylko inicjalizacja wszystkie pozostałe elementy do wartości.
Zasadniczo szósty element Dziesiąty element z indeksem od 5 do 9.
To właśnie robi pętla for.
Pierwsza pętla for mówi to zainicjujemy elementy od 5 do 9,
aby były I razy I.
A potem drugi za pętla, powinna być
wcięta, trudniej ją przeczytać.
Druga pętla for to właściwie przechodząc przez
całą tablicę i wyświetlając dane pokazują, że ostatnie 5 wartości
zostało faktycznie zainicjowanych.
Więc kiedy chcesz powtórzyć tę samą wartość lub zainicjuj do
różnych wartości, po prostu użyj pętli.
Ponownie, ważna jest inicjalizacja.
Będziesz chciał zainicjować, więc upewnij się, że ta składnia jest dla Ciebie
drugą naturą, ponieważ tak będzie używać tablic w c.