Nu e binevenită în această prelegere, vreau să vorbesc despre niște operatori
care sunt puțin ciudați în sensul că nu credeați că sunt operatori, deoarece toți operatorii pe
care i-am învățat până acum au indicat într-adevăr că vă spun ceva folosind acest simbol pentru a
face calcule pe numere și acești operatori au un fel de funcții asemănătoare.
Deci, hai să vorbim despre distribuția în mărimea operatorului, pentru a vorbi mai întâi despre operatorul de distribuție.
Trebuie să vă spun ceva despre conversiile de tip cum se convertesc datele.
Am aflat totul despre tipurile de date și diferite tipuri de date acolo.
Dar dacă de fapt încercați să atribuiți date diferitelor tipuri, există niște canale implicite pentru conversii care
continuă în limbajul de programare C.
Deci, conversia datelor între diferite tipuri poate avea loc automat.
Iar aceasta este menționată ca conversie implicită de către limbă sau explicit de către program de către
program sau de către programator în sine, dezvoltatorul poate face ceva ce poate utiliza un operator de distribuție în
esență pentru a face o conversie.
Datele care sunt convertite implicit sunt cu adevărat importante pentru că trebuie să înțelegeți acest lucru deoarece
majoritatea văd progun pe care o veți dezvolta pentru a le dezvolta în mod eficient.
Trebuie să înțelegeți aceste reguli pentru aceste conversii, pentru că veți avea adesea
numere zecimale și numere întregi și numere întregi și le veți folosi sau le
veți amesteca câteodată.
Și când faci trebuie să știi cum se vor arde lucrurile.
Acum ar trebui să încercați să evitați cât de mult puteți, folosind operatorul de distribuție.
Dar când nu utilizați operatorul de distribuție, înțelegeți ce se întâmplă și ce se întâmplă aici.
Când când atribuiți date unor tipuri diferite plutesc și dublează datele fie vor fi trunchiate, fie
vor fi promovate.
Acestea sunt două termeni pe care veți auzi că trunchiază mijloacele devine mai puțin precise și promovate
înseamnă că devin mai precise.
Deci, încercați să nu amestecați aceste tipuri, dar ele pot fi utile.
Principalul lucru pe care trebuie să îl înțelegem este faptul că știm din prelegerile anterioare că C este foarte flexibil
și este o decizie conștientă a designerilor limbii atunci când doreau să aibă o flexibilitate.
Dar din nou ca un compromis, deoarece această libertate suplimentară vă este dată, puteți să o utilizați și astfel să
nu abuzați de această idee de amestecare a tipurilor.
Încercați să utilizați aceleași tipuri atunci când puteți.
Pericolul unui rănire plutește cu flotoare, dar atunci când nu puteți înțelege nici conversiile implicite, nici nu efectuați conversiile
explicite pe care le faceți și operatorul de distribuție.
Deci, din nou, o altă problemă sau un alt concept pe care îl vedem este flexibil, dar nu trebuie să îl abuzezi.
Deci ori de câte ori o valoare de virgulă mobilă este atribuită unei variabile întregi în C, deci aveți X float y
x egal cu Y.
Porțiunea zecimală a numărului va fi trunchiată.
Deci, dacă aveți un indice de număr egal cu zero flux este egal cu douăsprezece punct unu la cinci și vă alocați la x valoarea lui
X va fi de 12.
Veți pierde acea precizie pe care o veți îndrepta spre valorile care pot fi trunchiate,
deoarece atribuiți un flotant unui ENT și știe doar cum să-și vândă numărul.
Deci, este în mod automat bun, poate fi redirecționat de limbajul de programare de către
compilator la 12, doar porțiunea va fi stocată.
Acum, dacă atribuiți o variabilă intregă la o variabilă în virgulă mobilă care este inversă, aceasta
nu provoacă nicio modificare a valorii numărului.
Valoarea este convertită de sistem și stocată în punctul de plutire suportabil.
Deci, nu trebuie să vă faceți griji cu privire la atribuirea într-un flux.
Dacă ai semnat 12 la un flux, încă vor fi 12 doar 12. 0 când efectuați aritmetică asupra numerelor întregi.
Și deci acest lucru este diferit de atribuirea unor valori care o atribuie unui plutitor plutitor la un capăt.
Aceasta este atunci când aveți o expresie pe care faceți o scădere adițională indiferent de caz, atunci când
faceți ceea ce este scăderea lui Turchin sau, în plus, aveți doi operanzi.
Și astfel, un operand poate fi o operațiune IT WHEN poate fi un flux.
Trebuie să știi cum se face conversia ce se întâmplă.
Deci, dacă aveți două operanzi într-o expresie și ambele sunt întregi decât orice porțiune zecimală care
rezultă dintr-o divizare, operațiunea este aruncată.
Deci dacă faci dacă ai un număr întreg x este de 20.
Aveți un număr întreg. Este de 12 și faceți 20 împărțit la 12.
Nu veți obține un punct ceva de un punct ceva ceva ce veți
obține unul va renunța la toate rezultatul și a pus-o în unitive pentru că din nou, doar tarabe povesti
un număr întreg.
Dreapta.
Deci, două numere sunt acolo în diviziune.
Nu veți obține un număr cu virgulă plutitoare.
Nu veți obține o zecimală.
Acum, dacă o operație este internă, cealaltă este un flux.
Apoi, operatorii vor fi formați ca o operațiune în virgulă mobilă, deci dacă ați zburat
la jumătate ca 20. 00 fluxul a este de 10. 0 sau 10.
Doar un int, atunci dacă faceți o diviziune, există 12 Îmi pare rău că este mai aplicabil.
Rezultatul va face un număr de 14 puncte și rezultatul va fi 1 punct 8 8 8 8 sau oricare ar
fi un singur punct, indiferent de caz, dar nu atribuiți aceste date unui lucru pe care tocmai îl reprezint o
expresie .
Ce se va întoarce?
Deci, două evenimente într-o divizie vor fi un număr întreg și în dublu sau în float.
Va fi întotdeauna un flotor.
Întotdeauna va fi o operațiune cu zecimale zecimale în virgulă mobilă.
Și aceasta este convertirea implicită și asta este exact ceea ce trebuie să înțelegeți ce se întâmplă și
sa făcut pentru dvs. de către program dacă nu faceți nimic.
Cu toate acestea, ar trebui să încercați să faceți niște conversii explicite pe care le puteți face cu operatorul de distribuție și acest lucru este pur și
simplu denumit "turnare" mai mult sau mai puțin.
Și veți vedea o distribuție în mai multe limbi atunci când doriți să convertiți și tot ceea ce este este că faceți
o conversie explicită pe care o spuneți că doriți ca datele să fie așa încât doriți să faceți acest lucru dacă puteți, deoarece altfel codul sau
datele s-ar putea te-ai retrogradat s-ar putea pierde dacă faci prea și ai spus că faci diviziune și nu sunt
împărțite în mod egal.
Vei pierde toate datele.
Așadar, este posibil să solicitați conversia exactă de tip pe care o doriți prin specificarea explicită a
acesteia.
Aceasta se numește turnare și constă în trecerea cantității cu numele
tipului dorit în paranteze praties.
Astfel, parantezele și numele tipului reprezintă operatorul de operațiuni de închidere a operatorului.
Faceți multe paranteze și apoi specificați tipul de date.
Și apoi imprimă.
Și asta va converti ceea ce este în dreapta ei, indiferent de expresia care se află
în partea dreaptă sau chiar dacă este doar o singură variabilă, o să convertească la ceea ce se află în paranteze.
Deci, tipul real este dorit, de exemplu, de-a lungul acestuia este înlocuit cu acel tip de cuvânt.
Deci tipul pe care a trecut operatorul are o prioritate mai mare decât toți operatorii aritmetici, cu excepția minusului
unar și, în plus, nu am învățat încă prioritatea noastră.
Vom merge în următoarea lectură precede în principiu ceea ce se întâmplă ordinea operațiunilor care
sunt efectuate.
Așa că vom oferi câteva exemple.
Tot ce trebuie să înțelegeți în acest moment este că operatorul de tip casting are prioritate
față de oricare alt operator, cu excepția minții voastre.
Și știi ce e aici, de exemplu, avem un număr de douăzeci și unu punct cinci și avem operatorul de turnare.
Știm că este distribuitor, deoarece este în paranteze și are un tip.
Și ceea ce în principiu spunem este să luăm 20 1. 5 un convertit la un int.
Dacă luați un număr în virgulă mobilă convertiți la el, acesta devine int întregul număr 21.
Același lucru se întâmplă în partea dreaptă, transformând 26 nu 9 9 la un int.
Deci, ce s-ar întâmpla aici dacă ați făcut această expresie în declarația pe care o va evalua,
deoarece 21 și 26 ar trunchia datele de la punctul 5 1 la un număr întreg și același lucru este punctul 9 9.
Și așa este operatorul de turnare.
Orice în interiorul parantezelor care conține un tip de date.
Veți vedea foarte multe.
Dacă ai spune 21 plus 26 și ai aruncat-o în flotoare, ar adăuga un punct 0.
De obicei, nu vă aruncați la un tip mai precis, deoarece nu veți obține o distribuție mai precisă de la un tip
mai precis la mai puțin precis.
Deci, mai mult ca un float la o ea.
Deci, veți vedea acest lucru pe parcursul unor programe ocazional, atunci când utilizați diferite tipuri.
Ar trebui să încercați să evitați utilizarea diferitelor tipuri dacă le faceți a.
Dar dacă o să vedeți că această dimensiune a operatorului un alt operator este cam ciudat, nu este similar cu
cel al celorlalți.
Și de fapt, aceasta arată exact ca o funcție, dar dimensiunea unui operator efectuează o acțiune.
Nu face nimic funcțional orientat Ceea ce face este să vă spun câte octeți sunt ocupați
în memorie de un anumit tip.
Se pare că aceasta pare a fi o funcție deoarece are nevoie de un argument
și vom da un exemplu că va reveni la numărul de octeți din memorie. Amintiți-vă că, în funcție de
sistemul pe care îl executați, planul ar putea rulați sistemul de operare arhitectura calculatorului hardware
diferite tipuri de date vor fi reprezentate din memorie cu dimensiuni diferite.
De exemplu, un inci ar putea fi patru octeți pe un alt sistem.
Deci, ceea ce puteți face este că puteți utiliza dimensiunea operatorului ca un cuvânt cheie special pentru un operator și
să vedeți și puteți trece într-un tip de date și vă va spune câte octeți este folosit în memorie.
Deci, mărimea este de fapt un operator, nu este o funcție care este evaluată la timpul de compilare și nu la execuție, cu excepția cazului în
care array-urile cu lungime variabilă utilizate în argumentul său.
Atat de bine insemnat si asta se spune in esenta ca daca aveti o variabila care este in
interiorul marimii unei matrice nu va fi nici o problema pentru rezolvarea timpului de compilare a timpului, deci nu atat de important.
Nu argumentul pentru dimensiunea op sau puteți fi o variabilă și arraigning numele unui tip de date
de bază ca int float numele unui tip de date derivate orice sau o expresie.
Deci, ai putea spune mărimea lui X plus Y și asta e de fapt doar să spui mărimea lui x plus mărimea sau
numărul rezultat este x este un int De ce este un int și dimensiunea lui de 16 ar spune că acesta este un int pentru
octeți dacă a fost un 8 unul a fost un float și rezultatul a fost aritmetică punct de virgulă.
Atunci ar fi să știi că etajul are 8 octeți ceva, dar îl poți folosi pentru multe lucruri și ar trebui
să-l folosești pentru multe lucruri.
Mărimea de inteluții, de exemplu, sau de rezultat, rezultă în numărul de octeți ocupați de o variabilă de tip int.
Deci, acest lucru se va întoarce pentru 8 în funcție de sistemul dvs.
De asemenea, puteți aplica dimensiunea operatorului și a expresiei așa cum am menționat.
Rezultatul este mărimea valorii care rezultă din mine sau ex-spion. Deci doi și doi împreună o
vor mânca.
Deci, va fi încă o dimensiune, dar veți vedea că dimensiunea operiei este de asemenea folosită atunci
când vorbim de indicii.
Am vrut să vorbesc despre asta acum pentru că este un operator, dar vom oferi multe alte
exemple.
Și aruncăm în întreaga clasă pe măsură ce vorbim despre mai multe concepte, în special dimensiunea operatorului
intră în joc mult mai mult și vorbim despre indicatori pentru că mergi
la calcularea cantității de memorie pe care o folosești dimensiunea sau pentru că doriți să fiți precizie, dar puteți să
o utilizați și pentru alte lucruri.
Deci, utilizați mărimea operatorului ori de câte ori este posibil pentru a evita să trebuiască să
calculați și dimensiunile codului greu în programul dvs. Dimensiunile de coduri grele numerele magice nu sunt un lucru bun pentru că din nou dacă
sunteți pe un sistem diferit dacă ați codificat greu pentru un singur sistem pentru că o furnică pe celălalt sistem ar putea fi un 8.
Deci, măriți cât de mult puteți și veți vedea că acest lucru vine
într-o capacitate mult mai relativă atunci când vorbim despre indicatori alți operatori care sunt puțin ciudați sunt aspiratorul asterisc.
Știți că ați putea să vă spuneți asterisc.
Am vorbit deja despre multiplicare, dar asteriscul are doi operandi unul pe stânga
unul corect.
Dacă aplicați operatorul asterisc la o variabilă și tocmai spuneți numele variabilei Star cu un singur
argument în dreapta, acesta reprezintă altceva.
Este de fapt un indicator.
Este dereferențial un pointer.
Și din nou, nu am de gând să reiau acest lucru acum, pentru că
vom trece prin asta când vorbim despre indicatori, dar dacă vedeți ceva de genul vechi, nu vă faceți griji.
Asta este de fapt valid.
Asta face asteriscul pointer OPERATOR Puteți vedea, de asemenea, semnul de întrebare colon.
Acesta este un operator care este folosit pentru luarea deciziilor dacă condiția este adevărată dacă lucrul
din stânga Trews-ului este adevărat, apoi valoarea de la dreapta după colon este evaluată și așa mai departe.
În caz contrar, este o notație de stenografie pentru o declarație IF.
Este un operator de operare. Se numește, dar din nou nu vreau să discut cu adevărat aceste lucruri în detaliu
acum, pentru că vom vorbi despre acestea și vom vorbi despre subiectele noastre specifice.
Vom vorbi despre OP sau două când vom vorbi despre declarațiile de decizie pe care le vom vorbi despre asterisc.
Operatorul Unirea când vorbim de indicatori, dar dacă vedeți acest lucru acum și am vrut să menționez acum pentru
că sunt operatori tehnici, dar vom înțelege cazurile lor de utilizare atunci când vorbim despre
aceste concepte.
Mulțumesc.