Buna ziua si bun venit inapoi suntem intr-o noua sectiune.
Această secțiune este denumită pointeri.
Aceasta este probabil cea mai importantă parte a cursului.
Probabil este și cea mai dificilă secțiune a cursului.
Conceptul de pointeri în C este un concept dificil de complicat, dar vom trece printr-un proces foarte lent.
Vom oferi o mulțime de prelegeri și vom merge pas cu pas.
Vom începe de la început la cel mai înalt nivel și apoi vom intra în mai multe
detalii și mai mult trebuie să înțelegeți indicii dacă doriți să profitați din plin de limbajul C, deci este foarte important.
Deci, să începem la vârf și să vorbim despre acest concept de interacțiune, care este în esență același
concept ca un pointer.
Astfel, indicii sunt foarte asemănători cu conceptul de interacțiune.
Folosești indirecția în viața ta de zi cu zi.
De exemplu, dacă descriu va suporta interacțiunea înseamnă că ar fi dacă ați fi nevoit să cumpărați un
nou produs nou la compania dvs.
Deci, de exemplu, trebuie să cumpărați un nou cartuș de cerneală pentru imprimanta dvs.
Dacă lucrați la o companie mare ce ați face probabil este că va trebui să treceți
printr-un anumit departament pentru a cumpăra noi achiziții.
Așadar, probabil că ați merge la departamentul de achiziții, probabil că veți chema pe cineva să cumpere
și să-i solicitați să comandați noul cartuș pentru dvs.
Ar fi treaba lor să găsiți apoi un magazin local care să furnizeze articolul real pe care doriți să îl comandați.
O.K.
Și ceea ce înseamnă asta nu înseamnă că nu vei comanda acel element direct de unul singur.
Îți ceri pe cineva să o facă pentru tine și apoi prin expertiza și cunoștințele lor despre cine are
produsul și despre povestea pe care o primesc înapoi la tine.
Deci, acesta este un nivel de interacțiune care vă privește.
Nu mergeți înainte și mergeți la magazin și cumpărați-l.
Du-te la departamentul de achiziții apartamentul persoanei are o cunoaștere care merge și face
totul pentru tine.
Acesta este același concept de programator în programarea în limbi de programare.
Interacțiunea este capacitatea de a face referire la ceva folosind un nume de referință sau un container în
locul valorii în sine.
Utilizăm o formă de indirecție utilizând numele de variabile.
Nu folosim adresa de memorie pentru a accesa datele.
Folosim un nume de variabilă.
Cea mai comună formă de interacțiune este actul de manipulare a unei valori prin adresa sa de memorie.
Deci, în plus față de o descriere foarte mică a interacțiunii folosind un nume de
variabilă pentru a reprezenta o adresă de memorie, puteți manipula și o valoare prin adresa sa de memorie utilizând hazardul propriu-zis.
Deci, un pointer oferă un mijloc indirect de X și valoarea unui anumit element de date este o variabilă a cărei
valoare este o adresă de memorie.
Și acest lucru este vital pentru a înțelege.
Am învățat variabile până la acest punct care conțin anumite tipuri de numere de date caractere
dubluri plutitoare cu numere raționale.
Acum vom avea o variabilă care nu stochează niciunul din aceste tipuri de date.
Tipul de stocare a datelor este o adresă de memorie.
Adresa de memorie va fi reprezentată ca număr întreg hexazecimal, dar va fi încă
o adresă de memorie.
Deci, va fi valoarea unei adrese într-o altă locație a memoriei Dacă este o variabilă existentă
sau o locație nouă pe care o alocați dinamic.
Deci, așa cum există motive pentru care este logic să mergeți prin departamentul de
achiziții pentru a comanda cartușe noi, nu trebuie să știți care magazin special de cartușe sunt comandate de exemplu, de exemplu.
Există, de asemenea, motive bune pentru care este logic să folosiți indicii și să vedeți că utilizați aceste variabile care reprezintă
o adresă a adresei de adrese.
Am vorbit despre adresele de memorie la începutul cursului și cum de fiecare dată când rulați
un program și stocați-vă creați variabile, acestea sunt stocate în memorie și că memoria are o adresă specială.
Trebuie să cunoașteți adresa pentru a obține datele înapoi așa cum trebuie să cunoașteți adresa unei case.
Dacă te duci undeva sau o adresă a unei locații,
folosirea indicatoarelor din programul tău este unul dintre cele mai puternice instrumente disponibile în limba C.
De aceea este important să înțelegeți orice program din C care este substanțial va folosi indicii.
Deci, trebuie să înțelegeți acest concept pentru programatorii care au programat limbi
mai moderne precum Java sau C sau Java sau C-sharp.
Nu trebuie neapărat să vă faceți griji în legătură cu acest lucru, deoarece toate alocarea de memorie și nu există nici
un concept real de pointeri, chiar dacă sub capota.
Java utilizează indicii deoarece au copii ale referințelor.
Este același concept.
Dar în C aveți în mod explicit o variabilă care reprezintă indicii de adresă, de asemenea, unul dintre cele
mai confuze concepte ale limbajului C.
Ei tind să fie abuzați.
Acestea nu sunt pe deplin înțelese mai ales prin noile programe.
Deci, este important să obțineți acest concept constatat la început și să aveți o idee clară despre
ceea ce se întâmplă pe măsură ce mergeți în mai multe și mai avansate C și mai multe și mai avansate concept pointeri astfel, dacă
nu înțelegeți acest lucru în studiul de început Studiu de practica de studiu scris cod cu indicatori compilatorul trebuie să
cunoască tipul de date stocate în variabila la care punctul dumneavoastră.
Deci, este ca un verbal obișnuit și că trebuie să specificați tipul de date când creați pointerul.
Motivul pentru care compilatorul trebuie să știe acest lucru este același motiv pentru variabilele de care
are nevoie să știe câtă cantitate de date să aloce, chiar dacă îndreptați anumite date, fiecare punct va fi asociat cu un
anumit tip de variabilă.
Acesta poate fi folosit numai pentru a indica variabilele de tipul respectiv.
Ei bine, da un exemplu de acest lucru atunci când vorbim despre definirea unui pointer.
Deci, de exemplu indicii de pointer tip la ea pot indica doar variabile de tip și din nou o variabilă are o valoare
a unei adrese care este un pointer.
Această adresă poate conține o valoare undeva în indicatorii de memorie de tip pointer la float.
Se poate indica doar variabile de tip float.
Deci, aici este o idee ilustrativă care vă oferă conceptul de pointer.
Nu vă faceți griji cu privire la sintaxa de aici.
Am discutat pe scurt în prelegerile anterioare acest ampersand în acest asteroid.
Nu-l aveți pe Nestler îngrijorat de faptul că vreau să fiți atenți.
Iată cum arată un pointer.
Are o adresă și această adresă poate conține o valoare adăugată undeva în memorie.
Deci, în acest exemplu, creăm un număr regulat.
Am creat un milion de ori.
Apoi vedeți această sintaxă cu asteriscul care indică faptul că este un indicator.
Vom trece prin asta în detaliu.
De asemenea, vedeți ampersandul care semnifică o adresă.
Deci, în acest exemplu, creăm acest pointer de tip și numărul P au fost atribuite într-o adresă, deoarece pointerile
de reamintire pot stoca doar adrese și modul în care acest lucru este prezentat.
Memoria este că aveți o variabilă numită număr și numărul are o valoare de nouăzeci și nouă.
De asemenea, are o adresă în memorie că memoria Atterson este valoarea indicelui.
Deci, numărul este un pointer care indică adresa 10 0 8 10 0 8 are o valoare de nouăzeci și nouă
conține numerele variabile bine, astfel că acesta este într-adevăr ceea ce ajungem la.
Dacă acest lucru nu este clar, trebuie să vă uitați la asta pentru o oră și asigurați-vă că o înțelegeți.
Din nou punctul este un pointer are o valoare pentru o adresă.
Aceasta este ceea ce stochează și apoi puteți accesa valoarea de la acea adresă utilizând o anumită sintaxă.
Deci, de ce folosiți pointerii de ce chiar a abordat acest concept prin Pot folosi doar tipurile de date existente pe care le folosim și le folosim atunci
când dorim să folosim șiruri de caractere.
Bine accesarea datelor numai prin intermediul variabilelor este foarte limitată cu pointerii în care puteți accesa orice locație pe care o puteți elibera orice poziție
de memorie ca o variabilă de exemplu și apoi puteți efectua aritmetică cu indicatori, de asemenea, ceea
ce face ca lucrurile să devină mai ușoare.
Indicatorii din C facilitează folosirea matricelor și șirurilor.
Și vom trece prin asta, de asemenea, că este un alt avantaj pentru a utiliza indicii pointeri ca
și pentru același spațiu și memorie cu mai multe locații.
Prin urmare, ceea ce înseamnă că este posibil să actualizați memoria într-o singură locație și apoi modificarea să poată fi văzută dintr-o
altă locație din programul dvs.
Este o modalitate de a folosi datele globale, dar care au încapsulate în interiorul funcțiilor.
De asemenea, puteți economisi o mulțime de spațiu de memorie prin posibilitatea de a partaja componente în structurile de date.
Așadar, amintiți-vă că a fost inventat C a fost inventat în anii '70, ideea lui
C trebuia să fie foarte eficientă și pentru a fi la un nivel scăzut, ideea de a accesa memoria direct prin pointeri este foarte eficientă și
este, de asemenea, foarte rapidă.
Indicatorii permit, de asemenea, funcțiile să monitorizeze modificarea datelor transmise ca variabile.
Aceasta este transmisă prin referință și are o prelegere în acest sens.
Aici puteți să transmiteți argumente unei funcții care sunt pointeri și apoi în interiorul funcției atunci
când schimbați acele date că schimbarea va fi reflectată în afara acelei funcții.
Deci nu știm că nu.
Nu mai trebuie să folosim date globale.
Putem folosi datele din interiorul unei funcții care să transmită datele ca un pointer și apoi acele date în afara acelei
funcții să fie alocate.
Deci, încă nu are dezavantajul folosirii variabilelor globale în care totul este
strâns cuplat.
Puteți limita acest lucru doar la datele de care are nevoie și numai funcțiile trebuie să știe că datele așa cum am menționat puteți fi, de
asemenea, folosite pentru a optimiza programul pentru a rula mai repede și de a folosi mai puțin
de memorie decât ar fi altfel, care este un concept important, programe în timp real.
Indicatorii ne permit, de asemenea, să obținem mai multe valori dintr-o funcție.
Am vorbit despre funcțiile pe care le-am capacitat de funcții.
De asemenea, am vorbit despre cum puteți corecta datele.
Știm că acum puteți reveni la o singură valoare dintr-o funcție.
Dar dacă folosiți indicii, puteți reveni la valori multiple dintr-o funcție.
Și vom vorbi despre asta.
Acesta este un mare avantaj.
De asemenea, vom vorbi despre alocarea dinamică a memoriei acum, când vom crea memorie pentru un program.
Se face implicit de către compilator atunci când declarați o variabilă să fie declarată variabilă și creează
automat 4 octeți pentru acea variabilă, de exemplu.
Atunci când utilizați matrice și specificați dimensiunea unui matrice care este alocată la execuție la timpul de
compilare.
Deci, dacă încercați dacă încercați să stocați mai multe date decât că ați fost înșelat, programul dvs.
nu va funcționa.
Dar, dacă ai avea capacitatea de a crea la fel de multă memorie pe care ai nevoie-o la runtime, ar fi foarte
mare.
Și indicii vă permit să faceți acest lucru.
Acestea vă permit să creați memorie la alocarea dinamică a memoriei în execuție.
Vom vorbi totul despre asta.
Indicatorii ne permit să proiectăm și să dezvoltăm structuri de date mai complexe și
structura datelor este o modalitate prin care se stochează exemple de date de structuri de date
o stivă sau o listă legată și le putem crea pe acelea mult mai ușor folosind pointeri indicatori oferă acces direct la memorie din nou eficient rapid pointerii vor fi un
concept mare.
Vom face o mulțime de prelegeri cu privire la indicii.
Vreau ca voi să vă concentrați și vreau să fiți atenți atunci când vorbesc despre toate
aceste concepte, deoarece este important și vital pentru înțelegerea limbajului de programare C.
Atât de noroc și să începem.
Mulțumesc.