Bună ziua și bun venit înapoi.
Să continuăm discuția despre structuri și să vorbim despre modul în care sunt legate de matrice.
Am vorbit despre modul în care structurile sunt niște matrice similare și că puteți stoca mai mult de o singură valoare, dar
acestea sunt diferite, deoarece puteți avea diferite tipuri de date și le puteți grupa
în acest fel, dar de asemenea, de asemenea, puteți avea de fapt niște structuri de structuri.
Deci, ați văzut cât de utilă este structura în a vă permite să grupați în mod logic elemente legate împreună.
Am văzut că știm cum să definim o structură cu elemente diferite folosind cuvântul cheie struct utilizând un
nume de etichetă.
Și știm, de asemenea, cum să creați o variabilă de tipul respectiv, deoarece ceea ce este structura este în esență este un tip
nou de date pe care îl puteți utiliza.
Apoi puteți accesa elemente de paie folosind operatorul de selecție a membrilor.
Ei bine, dacă vrei să creezi mai multe structuri care se află în interiorul unei matrice.
Poți să faci asta.
De exemplu, este necesar doar să urmăriți o variabilă în loc de trei pentru fiecare dată
utilizată de program.
Acesta este avantajul unei structuri.
Am vrut să rezolvăm 10 date diferite într-un program.
Trebuia doar să ținem evidența a 10 variabile diferite în loc de 30, deoarece
amintim că structura conține trei variabile în sine.
Zece variabile variază în continuare destul de mult.
Deci, într-adevăr, nu este calea optimă de a merge.
Probabil că doriți să creați o matrice, deoarece veți avea 10 tipuri de aceleași lucruri, la fel cum ați
avea 10 inci la fel.
Doar să fie un tip de structură Deci, o metodă mai bună pentru manipularea celor 10 date diferite implică combinarea
a două caracteristici puternice ale structurilor de limbaj și a rețelelor de programe C.
Puteți să le folosiți împreună pentru a le face mai puternice.
Deci, este perfect valabil să definiți o serie de structuri.
Conceptul unei game de structuri este foarte puternic și important în C.
Acordați o atenție deosebită.
Declare o serie de structuri este la fel ca declară orice alt tip de matrice.
Specificați tipul.
Se întâmplă exact ca un tip de structură.
Deci, dacă doriți să creați o serie de structuri numite dată, ați spune data structurii și apoi
numele variabilei.
Apoi folosiți parantezele exact așa cum folosiți parantezele pentru alte matrice.
Trebuie să specificați mărimea.
Deci, în acest caz, dacă creăm 10 instanțe sau 10 elemente din tipul struct date, am spune 10 în interiorul
acelor paranteze pentru partea respectivă.
Deci, acest lucru ar defini o matrice numită datele mele, care constă din 10 elemente, fiecare element din
interiorul matricei fiind definit ca fiind de tip datat, care conține trei membri.
Deci, în esență, ceea ce faci este că stocați 30 de seturi diferite de date 13:30 diferite elemente de date pentru a identifica membrii
unei game de structuri pe care le aplicați aceeași regulă pe care o utilizați pentru structurile individuale.
Urmați numele structurii cu operatorul punct și apoi cu numele de membru care face referire la un anumit element
de structură din interiorul matricei este destul de natural pentru a stabili a doua zi în datele din 8 august
1986 tot ce trebuie să faceți este să specificați numele matrice.
Datele mele și specificați indicele pe care îl specificăm aici a doua dată.
Amintiți-vă că raiserul este bazat pe 0.
Deci spunem un sub-unul.
Și apoi, dacă vrem să accesăm elemente ale elementului matricei sau ale membrilor acelui struct pentru acel
element, spunem luna daat.
Deci, acest lucru ne va da cel de-al doilea element din matricea de date a valorii lunii pentru acel tip de
structură.
Și aici vom semna la valoarea de 8 și dacă vrem să accesăm astăzi vom
semna și data corectă pentru că este 8 august.
Și apoi, în sfârșit, pentru anul, am spune că acel an este egal cu 1986.
Acesta este modul în care puteți atribui celui de-al doilea element al matricei datei mele
cele trei variabile diferite, deoarece este de tip struct struct.
Deci, ar trebui să observați că într-adevăr nu este altfel.
Singura diferență aici este că ai un punct.
În mod normal, mi-ai vedea cineva datele mele și asta ar fi pentru că poți să semnați doar o variabilă
în funcție de tipul acelui matrice.
Dar în acest caz se poate spune că rezolvăm una
cu trei variabile diferite, deoarece acestea sunt cele trei elemente din interiorul structului inițializând o serie de structuri inițializarea structurilor care
conțin structuri este similară cu inițierea unui membru al rasei multidimensionale cu matrice multidimensionale
ne-ar urma specificul sintaxa cu acolade ondulate pe exterior si apoi bretele verticale din interior care
reprezinta fiecare rand acolatii ondulate din interior au fost de fapt optionale, dar a facut-o mult mai citibila.
Și așa îmi place să urmez acea convenție și acest exemplu pe care îl creăm în data
întâlnirii datei mele.
Va fi o dimensiune 5 și apoi vom inițializa doar primele trei elemente.
Și așa o facem ca o matrice multidimensională.
Avem acele brațe înăuntru.
Și astfel, primul element din raza mea de date care este indicele Sub-Zero vom spune că luna este 12
zi este 10 și anul este 1975 și atunci vom face același lucru pentru primul element pe care
noi "Voi spune 12:30 1980.
Și pentru al treilea album o să spunem Levan 15 2005.
Și pentru că nu am furnizat celelalte două elemente în matricea de date, acestea nu vor fi inițializate
nimic.
Deci, acest lucru va stabili primele trei date în matrice data mea până la 12:10 1975 12:30 1980 și 11:15 2005 coechipierii interiori ai
bretelelor sunt opționale la fel ca într-un multidimensional sunt ele opționale opționale bine.
Dar, din nou, este mai ușor să citiți cu ușurință cu acele bretele interioare.
Aș urma această convenție.
Deci, puteți face acest lucru dacă doriți să scăpați de armături, dar
este puțin mai greu de urmat deoarece acum aveți doar virgule separate prin virgule și sunt elemente separate prin virgule și poate deveni
foarte confuz dacă faceți multe acestea.
Trebuie să o hartați corect.
Spuneți că sunt al patrulea element din a patra virgulă.
OK că va fi al doilea element al lui.
E mai greu de urmărit.
Așa că folosiți cele din interiorul coastelor.
Dacă doriți să inițializați doar al treilea element al matricei la o valoare specificată, puteți să specificați datele
mele.
Sub 5.
Încă creați matricea aici.
Încă declarați variabila și setați mărimea la 5.
Dar, în interiorul bretelelor, vă rog să spuneți două paranteze interioare și veți fi inițializate între 2 și
12 10 1975.
Deci veți vedea parantezele pătrate care reprezintă elementul pe care doriți să-l inițializați.
Apoi, operatorul de asignare este egal și apoi în interiorul coastelor curves inițializați luna
și ziua pentru elementele din interiorul structului.
Deci, puteți specifica exact ce element doriți să inițializați și dacă doriți să setați doar luna din a doua zi a
celei de-a doua ore a ratei de date la 12 și 30.
Puteți face ceva foarte asemănător.
Doar faceți o virgulă pentru a separa fiecare atribut.
Nu doriți să setați anul, astfel încât să doriți să puteți utiliza acele bretele curry.
Ați putea spune că Dot lună egală cu 12 un punct sub o zi este egal cu 30.
Și din nou, această sintaxă pare foarte asemănătoare cu inițializarea variabilelor structurilor în altă parte.
Singura diferență aici este faptul că este o matrice pe care trebuie să specificați
indexul matricei, dar o sintaxă similară.
Ce este vorba de structuri care conțin elemente de array în interiorul structurii care conțin o matrice.
De asemenea, este posibil să găsim structuri care conțin un matrice ca membru.
Acest lucru ar putea fi util.
Este cea mai obișnuită utilizare este să configurați o serie de caractere în interiorul unei structuri.
Chiar folosim matricele de caractere destul de dreapta pentru siruri de caractere.
Deci, ar fi foarte comun pentru o structură să conțină un șir în esență o matrice de caractere.
Deci, să presupunem că ați vrut să găsiți o structură numită lună care conține ca număr de membri numărul
de zile din lună, precum și o abreviere de trei caractere pentru numele lunii.
Ei bine, acolo am putea folosi o matrice de caractere.
Am putea spune că structura lunară știm cum să definim o structură.
Din nou, aceasta nu alocă nici o memorie.
Aceasta este doar spune că așa este definită structura, ele sunt elementele care sunt conținute în
interiorul ei.
Aici folosiți cuvântul cheie struct.
Spunem că numele etichetei struct name este lună și apoi avem acea brățară curată stânga și apoi specificăm
elementele.
Avem un element care este întregul reprezintă numărul de zile pe care le avem la unele apel la
sfârșit și apoi avem un caracter un caracter numit sub 3.
Deci dimensiunea a trei, pentru că are trei caractere și apoi terminăm structura cu bretele potrivite.
MICHAEL Dar personajele membrilor sunt potrivite, iar Krull sunt mai aproape de colturi.
Știm asta până acum.
Dar puteți avea cu ușurință structuri care conțin array-uri doar prin punerea lor ca un element membru.
Și astfel se stabilește o structură de o lună care conține un număr întreg numit număr de zile și
un membru de caractere numit Numele nume de membru este de fapt o matrice de trei caractere.
Destul de simplu Deci cum de fapt accesați-o.
Ei bine, mai întâi va trebui să creați variabila corectă.
Variabila ar crea memorie pentru elementele din interiorul structului și apoi doriți să setați
câmpurile corespunzătoare în interiorul variabilei de o lună a matricei de caractere dreapta.
Pentru că acesta a fost numele exact așa cum am numit și numarul de zile aici se
numește nume și exemplul se numește a.
O lună este tipul de variabilă, iar numele este tipul de element, deci este corect.
Deci, aici creăm un struct.
E de tip lună.
Numele variabilei este o lună.
Nu o inițializăm cu ceva ce spunem imediat o lună numărul de zile 31 utilizăm operatorul de selecție
a punctului respectiv și apoi unul atribuit matricei de caractere.
Nu putem aloca direct unui personaj sau a.
Ar fi trebuit să faci o comparație severă sau ceva dacă dacă vrei să semnezi totul și tu poți
face asta.
Nu trebuie să folosiți acești indici pe care le-ați putea spune Sturk să copieze o lună cu numele virgulei și apoi JKA și în
ghilimele duble.
Sau puteți face acest lucru accesând elementele matricei prin intermediul indexului.
Aici vedem un nume de piață pentru că trebuie să accesăm variabila membru nume amintesc elementul
membru rău și apoi în interiorul parantezelor pe care le specificăm indexul matricei.
Găsiți-i atribuirea primului caracter în matrice la J.
În al doilea rând doriți oa treia și veți vedea această sintaxă.
Dacă faci acest lucru este în dubluri și plutește numeric În mod normal, când ai un caracter sau
o vei folosi o funcție de copiere a magazinului și vei atribui totul cu ghilimele duble.
De asemenea, puteți inițializa variabila la aceleași valori făcând ceva foarte similar atunci când declarați
variabila doar în interiorul acoladelor pe care le aveți, deoarece este o matrice pe care o puteți avea în
interior.
Și apoi singurele citate unice în jurul fiecărui caracter și puteți configura structuri de 12 luni în interiorul unui matrice pentru
a reprezenta fiecare lună a anului.
Așadar, acum putem crea o variabilă de o lună care este o matrice de dimensiunea 12 de tip struct luna și care poate
reprezenta în fiecare lună și apoi putem pentru fiecare lună să petrecem numărul de zile și apoi abrevierile
pentru lună.
Deci utilizarea cintarului folosind aceste două concepte puternice de matrice și structuri este foarte utilă.
Structurile pot avea mai multe elemente, astfel încât ele să poată fi de fapt o structură de matrice și elementele din interiorul
structurii pot fi o matrice.
Și vom vorbi despre modul în care putem folosi structurile pentru a conține alte elemente precum
pointerii, dar veți vedea că structurile pot stoca orice tip de date și multe tipuri diferite de date.
Și este foarte util să folosiți cu conceptul de array dețineți acelea care sunt de ajutor din nou, vom avea o provocare pentru a
demonstra unele dintre aceste concepte și a aduce câteva exemple în cadrul plimbărilor cu coduri mai târziu.
Mulțumesc.