Cześć i witaj.
W tym wykładzie chcę porozmawiać o koncepcji tablicy.
Tablica to koncepcja, która na to pozwala zasadniczo przechowujesz wiele różnych
wartości w jednej zmiennej.
Tablice są powszechne w większości plików języki programowania.
Pomagają uprościć i usprawnić program jest dużo bardziej wydajny.
Więc będziemy o tym rozmawiać tworzenie i używanie tablic w c.
A więc tablica.
Jest to bardzo powszechne w programie do przechowywania wiele wartości danych określonego typu.
Na przykład w programie sportowym możesz chcieć
przechowywać wyniki wszystkich gier lub wyniki dla każdego gracza.
Do tego momentu mogliśmy z łatwością wdrożyć to, ale musielibyśmy napisać inną zmienną
dla każdego wyniku.
Więc wyobraź sobie, że jest mnóstwo gier.
Mam na myśli, że w baseballu są 162 mecze.
Gdybyśmy mieli napisać taki program był programem baseballowym, który
chciał przechowywać jakieś statystyki czy coś, my musiałby stworzyć 162
zmienne dla każdej gry, aby utrzymać wynik.
Teraz to jest wrzód na tyłku.
Byłoby to bardzo uciążliwe.
i to naprawdę za dużo.
Więc to jest miejsce, w którym tablica pojawi się w grze,
tablica rozwiąże ten problem.
Nie musisz utwórz 162 zmienne.
Możesz utworzyć pojedynczą zmienną i uzyskać do niego dostęp w określony sposób.
Tablice pozwalają więc na grupowanie wartości razem pod jednym nazwiskiem.
Nie musisz się rozdzielać zmienne dla każdego elementu danych.
Więc to pozwoli ci się stać znacznie wydajniejszy programista.
Tablica to stała liczba danych przedmioty są tego samego typu.
Więc tylko jeden problem z rozszerzeniem tablica polega na tym, że nie możesz
zmienić rozmiaru tablicy.
Po utworzeniu tablicy to jest zawsze będzie tego rozmiaru.
I inne ograniczenie jest to, że nie możesz przechowywać
wielu typów danych.
Jeśli zadeklarujesz tablicę i to jest nadal będzie przechowywać liczby i
inty, musi przechowywać liczby int.
A więc kilka ograniczeń.
Jak deklarujesz tablicę.
Pamiętaj o tym, kiedy deklarujesz zmienna, co robisz?
Mówisz, że to zmienna istnieje w programie.
A kiedy deklarujesz te prymitywne typy danych,
alokujesz formę pamięci.
Kiedy deklarujesz tablicę, elementy danych w tablicy nazywane
są elementami.
Więc to jest inna koncepcja kiedy myślisz o tablicy.
Jeśli mówię o terminie element to znaczy, że odnoszę się
do elementu w tablicy.
Ponieważ pamiętaj, że tablica jest będzie mieć wiele, wiele różnych
wartości, ale o tej samej nazwie.
I jak wspomnieliśmy o elementach w tablica musi być tego samego
typu, nie można mieszać i dopasowywać typów danych.
Nie możesz mieć tablicy 5 intów i 5 longów.
Nie ma czegoś takiego jak singiel tablica wielu typów danych.
Deklarowanie użycia tablicy w program jest podobny do
zwykłej deklaracji zmiennej.
Wszystko, co musisz zrobić, to sprecyzować nazwę, a następnie użyj nawiasów.
Więc to jedyna różnica, pomysł nawiasów
kwadratowych po nazwie.
Oto przykład this wygląda jak normalna deklaracja
zmiennej, ale to, co widzisz tutaj masz te nawiasy.
To jedyna rzecz nie jest normalne i jest
w nich liczba.
Liczba w nawiasach określają rozmiar.
Więc tutaj po prostu mówimy, że jesteśmy mam zamiar
utworzyć tablicę o nazwie liczby typu long to jest będzie zawierać 10 elementów.
Więc jest to całkiem proste.
To jest liczba deklaracja, ponieważ średnik znajduje się na końcu,
to jak deklaracja zmiennej ale masz
te nawiasy i liczbę, a to jest rozmiar tablica lub wymiar tablicy.
Po zadeklarowaniu tablicy jesteś wtedy będzie chciał zacząć go używać.
Będziesz chciał zacząć uzyskiwanie dostępu do znajdujących
się w nim danych lub zapisywanie w nim danych.
Aby to zrobić, musisz aby zrozumieć, jak tablica jest
przechowywana w pamięci i jak to jest faktycznie będzie dostępny.
A więc tablica z każdym z elementów w tablicy każdy element danych jest dostępny przy
użyciu tej samej nazwy.
Więc nadal będziesz mieć dostęp z nazwą zmiennej.
Jeśli jednak chcesz mieć konkretny plik wartość w tym promieniu,
będziesz teraz musiał użyć czegoś, co nazywa się an index lub indeks dolny, oba te
terminy są używane zamiennie.
Ten indeks lub indeks dolny to będzie liczbą i
również będzie w nawiasach aby uzyskać dostęp do elementu w tablicy lub
bezpośrednio do tego miejsca w tablicy write wartość po nazwie tablicy.
Zatem wartości indeksu są sekwencyjne liczby całkowite zaczynające się od 0.
Więc kiedy mówimy o tablicy i to
elementy i mówimy o indeksach w tablicy lub indeksach, wszystkie te subskrypcje mogą zaczynać się od 0.
To w zasadzie mówi że ich promienie są oparte na 0.
Więc wartości indeksów dla elementów w pliku tablica o rozmiarze 10 będzie zawierać się w przedziale od 0 do 9.
0 będzie to reprezentować pierwszy element tablicy, a 9 będzie odnosić się do
ostatniego element w tablicy o rozmiarze 10.
Więc musisz to zrozumieć koncepcja tablic opartych na 0.
Intuicyjnie możesz pomyśleć, że ja chcę uzyskać dostęp do
pierwszego miejsca w tablicy, ok, podaję indeks jeden, nie, ponieważ zaczynają się od 0.
Więc jest to bardzo, bardzo powszechne omyłkowo spróbuj uzyskać dostęp do tablicy i
wyłącz o 1, ponieważ myślisz, że zaczynają się od jednego,
a nie od 0.
Jest to określone jako wyłączony o 1 błąd.
Możesz użyć prostej liczby całkowitej aby jawnie odwołać się do
elementu, do którego chcesz uzyskać dostęp.
Na przykład, jeśli chcesz uzyskać dostęp czwartej wartości
w tablicy, powiedz nazwę tablicy, a następnie w nawiasach można powiedzieć 3.
Czyli nazwa tablicy sub-3 będzie używana aby uzyskać dostęp do czwartej
wartości, ponieważ nazwa tablicy jest oparta na 0.
Więc po prostu musisz to zapewnić numer elementu, do
którego chcesz uzyskać dostęp.
I znowu pamiętaj, że jest to podstawa 0.
Aby uzyskać dostęp do czwartego elementu, jest to 3.
Jeśli chcesz uzyskać dostęp do 8. element, robisz indeks 7.
Możesz również określić indeks dla element tablicy przy użyciu wyrażenia.
Musisz więc teraz użyć tylko liczby.
Możesz użyć wyrażenia w kwadracie nawiasy po nazwie.
Jednak wyrażenie musi wynikać w wartości całkowitej, która odpowiada jednej
z możliwych wartości indeksu.
Więc jeśli masz tablicę o rozmiarze 10 i używasz
wyrażenia, do którego to wyrażenie musi obliczyć 0, dowolne liczby od 0 do 9.
Jest to również bardzo powszechne, gdy jesteś przechowywanie elementów w tablicy w celu użycia pętli w
celu uzyskania do nich dostępu i zaczynamy aby rzucić na to przykład.
Na przykład tutaj mamy for loop i inicjalizujemy naszą zmienną kontrolną pętli na 0 I i
jesteśmy wychodząc, gdy mam mniej niż 10 lat.
A co tu robimy jest to, że po
prostu wyświetlamy liczby w tablicy.
A więc mówimy printf liczba to procent d,
a następnie liczby pod-I, I jest zmienną.
Możesz użyć zmiennej w wyrażenie zmiennej tak długo, jak
ta zmienna reprezentuje liczbę z 0 do 9, iw tym przypadku tak.
Jest to bardzo powszechne w użyciu dla pętle do iteracji po
tablicy w celu uzyskania dostępu do elementów lub zapisuj dane do tych elementów.
Podsumowując, oto ładny mała ilustracja, którą znalazłem.
Tak zbudowana jest tablica.
Jeśli mam tablicę o nazwie liczby, będziesz
mieć podążaną za nazwą tablicy w nawiasach, które identyfikują poszczególne elementy
w tablicy.
Więc mogę zadeklarować tablicę po prostu określając typ i
nazwę, a następnie określ rozmiar w nawiasach.
A potem, kiedy chcę uzyskać dostęp it, po prostu używam nazwy tablicy,
po której następuje wartość indeksu.
I tak dla tablicy, która
ma rozszerzenie rozmiar 10, będziesz mieć indeksy, które są ważne od 0 do 9.
Więc co się stanie, jeśli spróbujesz uzyskać dostęp element tablicy
z nieprawidłowym indeksem, na przykład try dostęp do tablicy o rozmiarze 10 przy użyciu 11 jako indeksu
lub 10 jest indeksem.
Będziesz mieć tablicę błąd poza granicami.
Więc jeśli używasz wyrażenia lub zmienna lub stała dla
wartości indeksu, która znajduje się poza zakres tablicy i poza tablicą
zakresu oznacza co?
Cóż, to znaczy, że jest to albo negatyw liczba lub liczba
większa niż rozmiar, naprawdę większa niż rozmiar minus jeden, ponieważ jest podstawa 0.
Więc jeśli masz tablicę o rozmiarze 10, rozmiar minus 1, jeśli jest większy niż
9, będziesz miał tablica poza granicami błędu.
I problem z tablicą of bounds,
może spowodować awarię programu, a nawet gorzej, może to spowodować,
że program będzie wyglądał normalnie, ale wtedy to nie działa normalnie.
Więc to nie produkuje spójne wyniki.
Czasami będziesz miał śmieci dane, dane, które nic nie
znaczą w tablicy.
Ponownie, jest to bardzo nieprzewidywalne, kiedy masz tablicę błędów granic.
A problem w tym, że w szyku kompilator nie może
sprawdzić błędu poza zakresem, ponieważ plik kompilator nie
będzie wiedział, czy coś przypisujesz większy lub jeśli masz dostęp do
czegoś większego niż rozmiar.
Nadal będzie się kompilować nawet jeśli masz ten
obszar poza granicami błędu.
Zasadniczo tablica granic błąd to błąd w czasie wykonywania.
Nie dowiesz się tego błąd aż do uruchomienia programu.
I znowu może powodować twoją program jest bardzo nieprzewidywalny.
Więc chcesz być bardzo, bardzo jesteś świadomy tego, w jaki sposób uzyskujesz dostęp do tablicy,
jakie wartości indeksów jesteś używanie i sposób zapisywania danych do tablicy
z wartością indeksu.
Zwróć szczególną uwagę na indeksy tablic, a także granice.
Jeśli chcesz zapisać dane w pliku tablica, to jest bardzo, bardzo proste.
Zasadniczo to zrobisz po prostu użyj indeksu.
Zatem wartość może być przechowywana w tablicy po prostu określając element tablicy
po lewej stronie strony znaku równości, a następnie używając nawiasów,
aby określić element, do którego chcesz pisać.
Więc w tym przykładzie mamy plik tablica o nazwie grades, nie wiemy, jaki to rozmiar,
to musi być większy niż 100, inaczej wystąpiłby błąd
tablicy poza zakresem.
Ale w tym przykładzie mówimy ocena poniżej 100 równa się 95.
Wartość 95 jest przechowywana w element numer 100
tablicy grades, bardzo prosty.
Po prostu określ indeks a potem robisz jakąkolwiek wartość, którą
chcesz podpisać.
Możesz także użyć zmiennych przypisać wartości do tablicy.
Więc 95 można zapisać w zmiennej, tak jak przypisujesz innym zmiennym.
Teraz przejdźmy przez przykład użycia tablicy.
Oto przykład użycia pliku tablica, która będzie sumowała odczytaną
w 10 liczbach, a następnie poda mi średnia z tych 10 liczb.
Kiedy je czytamy, jesteśmy obliczymy sumę, a
następnie wyświetlimy średnią.
Więc w tym momencie chcę wziąć ten przykład i chcę
umieścić go w blokach kodu i spróbować uruchomić i pokażę Ci, jak to działa.
Jesteśmy w naszym normalnym widoku, jesteśmy w prosty projekt, a my pokażemy, jak działa
tablica w blokach kodu.
Zauważysz, że jesteśmy w naszej głównej funkcji.
To jest wpis wskaż program.
A w linii 12 jesteśmy deklarowanie tablicy.
Zamierzamy zadeklarować tablica typu int o rozmiarze 10.
Rozmiar znajduje się w nawiasach, kończymy go średnikiem.
To jest tablica będzie przechowywać 10 wartości.
Gdybyśmy nie mieli tej
tablicy zapisane to, co musielibyśmy zrobić, to powiedzieć oceny 1 int, oceny 2 int, oceny 3.
Widzisz, jakie to problematyczne jest i jakie to jest bardzo nudne.
Bardzo miło, że możemy po prostu utwórz pojedynczą zmienną, która
przechowuje 10 pozycji i są zgrupowane razem.
Kiedy przechowujesz elementy w tablicy, ty nie chcą, aby wartości danych
były różne, różne rzeczy.
Jak w tym przykładzie, przechowujemy stopnie, więc wszystkie są stopniami.
Nie chcesz nazywać tablicy coś, a potem powiem, że
będę przechowywać swoje oceny, zamierzam zapisz moje ...
mój... mój... nieważne, mój wiek tam i cokolwiek.
Upewnij się, że przechowujesz ten sam typ danych, gdy jesteś tablicą.
Następna zmienna w wierszu 13 to zmienna licznikowa.
Równa się 10.
To będzie liczba wartości do odczytania, ponieważ przechodzimy
przez tablicę.
Suma jest długa, zamierzamy zsumować liczby, gdy przechodzimy przez wartości,
a potem idzie średnia być zmiennoprzecinkowym, ponieważ chcemy uzyskać
średnią z liczb.
Pierwsza rzecz, którą zamierzamy zrobić w linii 17
mamy zamiar powiedzieć użytkownikowi, że tego chcemy wpisz 10 ocen, a potem
będziemy wczytywać wartości.
Więc w linijce 20. zauważysz, jaki jestem wcięcia
i używam dobrego nazewnictwa, tworzenia wcięć i dobrego blokowania kod dla bloków wcięcia kodu.
Tutaj, w linii 20, oświadczam moja zmienna kontrolna pętli.
Używam starszego kompilatora, c kompilator 89, więc nie mogę go zadeklarować i
zainicjować tej samej linii.
Zwykle po prostu to zrobiłbyś.
Ale kiedy to robię, bo biegam Kompilator C89 otrzymuje błąd.
Dlatego deklaruję swoją zmienną w linii 20, a następnie używam pętli for.
Znamy pętle for z naszych poprzednich wykładów pozwala
na powtórzenie kodu.
Tutaj po prostu mówimy, że to zrobimy mamy pętlę for
z kontrolą przeciwną, zaczniemy od 0 i jesteśmy pójdzie aż do 10.
Więc idziemy przez 10 iteracji, ale zauważysz, że
indeks wynosi 0.
To ważne, ponieważ będziemy uzyskiwać dostęp do
tablicy, używając tej zmiennej I.
I wtedy zauważysz w końcu pętli for modyfikujemy
zmienną sterującą pętli, zwiększając ją.
Więc zamierzamy wydrukować wartość I plus 1,
gdy przejdziemy przez tablicę, aby ci pokazać gdzie jesteś dla liczb.
Więc zasadniczo powie jak wprowadź ocenę 1, 2, 3, 4.
Następnie poprosi cię o to wprowadź stopień za pomocą scanf.
Zamierzamy przechowywać to w naszej tablicy.
Zauważysz to, kiedy ty przechowuj je w tablicy,
działa jak zwykły dostęp do zmiennych.
Używasz tylko ocen i następnie określasz indeks.
Tutaj używamy I jako naszego indeksu.
Więc to będzie równe 0 pierwsza iteracja, 1 druga
iteracja, 2 trzecia iteracja.
I dobrze, że zaczęliśmy od 0 ponieważ tablice są oparte
na 0, a następnie używamy po prostu adresu operatora, znak ampersand.
Kiedy przechodzimy, tak jest zamierzam podsumować oceny razem.
Więc powiemy sumę równa się sumie plus ocena pod I.
Każda klasa będzie w zasadzie obliczyć sumę.
A potem, gdy wyjdziemy z pętli po uruchomieniu 10
razy ustawimy naszą średnią równą suma podzielona przez liczbę i rzucamy
ją na zmiennoprzecinkową, rzucamy tutaj.
To zmienia typ danych.
Pamiętaj, suma podzielona przez liczbę, suma czy jest długi i liczy się jako int i chcemy rzucić
to na float.
A na samym końcu jesteśmy zamierzam wydrukować średnią.
Więc przejdźmy dalej i uruchommy to i upewnij się, że nie otrzymujemy żadnych błędów, co oznacza, że mamy 0
błędów i 0 ostrzeżeń.
Więc teraz uruchommy to.
I tak się stanie dokładnie to, o czym wspomniałem.
To powie, że wejdź do 10 stopni a następnie umieszcza tam 1 w małym znaczniku, abyśmy wiedzieli,
na jakiej liczbie się znajdujemy.
Będzie to około 95 32 55, wejdzie i po prostu wstawi tutaj
dowolne liczby.
Niekoniecznie mają sens, w porządku, i mój ostatni numer 23.
Średnia z tych 10 ocen będzie wynosić 51. 20.
Ale to naprawdę miłe, ponieważ my nie musisz tworzyć 10 zmiennych.
Dostęp do tablicy uzyskujemy za pomocą indeks dolny i możemy przypisać wartości
do tablicy za pomocą indeksu.
To faktycznie przypisywanie kiedy robimy scanf.
Przypisujemy dane do to do tego indeksu.
Teraz, gdybyśmy mieli to zmienić i powiedzmy, że zaczęliśmy od 1 i
zamiast liczyć który wynosi 10, właściwie ustawiliśmy go na równe.
A więc właściwie nie zmieniaj tego na 1.
Powiedzmy, że zaczniemy na 0, ale teraz przejdziemy
do indeksu 10.
Pamiętaj, indeks 10 jest poza zakresem ponieważ rozmiar tablicy
to 10, ale wartość indeksu to 0 tak, aby maksymalny indeks wynosił 9.
I znowu będziemy w stanie aby to skompilować,
ponieważ kompilatory nie wykrywają błędów poza zakresem, problem pojawia się, gdy go uruchamiamy.
Teraz, gdy uruchamiamy program, będziemy mieli duży problem, próbujemy
wejść do 11 klasy.
Więc wszystko będzie dobrze.
Kiedy wejdziemy do 10 klas, problem stanie się, gdy
dojdziemy do 11.
Teraz mamy 11 i jesteśmy będę próbował przechowywać dane.
Nic złego się nie stało, ale nasze średnia nie będzie poprawna.
Jest to bardzo nieprzewidywalne zachowanie kiedy masz błąd poza zakresem.
Więc chcesz się upewnić masz liczyć lekcje wzroku i chcesz
mieć pewność, że kiedy uzyskujesz dostęp do informacji, nie wychodzisz też
poza granice.
To są podstawy tablicy, deklarowanie tablicy, określając
rozmiar tylko typ danych, a następnie rozmiar i nawiasy, dostęp do tablicy lub
przechowywanie danych w tablica, przypisywanie wartości przy
użyciu indeksu I wewnątrz indeksów.
Moglibyśmy nawet wydrukować plik indeksy również przy użyciu indeksu dolnego.
Tablice będą być używane dość często.
Będziemy mieć wiele przykładów z tablice, ponieważ to upraszcza rzeczy.
Pamiętaj tylko, że tablice mają stały rozmiar.
Nie możesz zmienić wielkość ocen.
Tak będzie zawsze 10 podczas uruchamiania programu.
Więc jeśli przypiszesz jakiekolwiek dane powyżej że to się nie rozwinie.
Pamiętaj też, że stopnie muszą mieć ten sam typ danych.
Nie mogę przechowywać ciągów znaków ani słów w klasie mogę przechowywać tylko ints.
Nie mogę przechowywać pływaków tam tylko sklep ints.
Dziękuję Ci.