>> [Musika jotzen]
Hizlaria: Ondo da.
Hargatik hitz beste buruz Gauza mota hori berezia da, C,
zein datu mota eta aldagaien da.
Nik esaten badut berezia C, benetan I bakarrik testuinguru batean esan,
Nik programatzaile bat izan balitz denbora luzez,
Seguruenik duzu ez Datu motarekin egin du lan
erabiltzen duzun modernoa bada programazio hizkuntzak.
Bezalako hizkuntza modernoak PHP eta JavaScript,
bertan guk ere pixka bat ikusiko geroago zehar,
Egia esan, ez duzu zehaztu Datu aldagai bat motaren
noiz erabili duzu.
>> Aldarrikatu duzu, besterik ez da, eta hori erabiltzen hasteko.
Zenbaki oso bat bada, Badakizu zenbaki oso bat da.
Pertsonaia bat bada, da daki pertsonaia bat da.
Hitz bat bada, badaki kate bat, llamado da.
>> Baina C, ere bertan da Hizkuntza zaharragoak, behar dugu
Datu zehazteko aukera aldagai mota
Lehenengo aldiz dugun sortu aldagai hori erabiltzen dugula.
Beraz, C batzuk dator eraiki-datu motak.
Eta gaitezen familiar horietako batzuk.
Eta gero, gero, gainera, dugu hitz egin Datu mota batzuk apur
Nik dugun zuretzat idatzia, beraz, horiek erabili ahal izango duzu CS50.
>> Lehenengo eta behin, int da.
Int datu-mota aldagai erabiltzen da osoko balioak gordetzen ditu.
Beraz, 1, 2, 3, negatiboak 1, 2, 3, eta abar.
Osokoak, eta horrek zerbait duzula da Kontuan izan behar da galdetegiko,
Beti hartu dute lau byte oroimenaren, horietatik 32 bit.
Byte batean zortzi bit daude.
>> Beraz, horrek esan nahi du eskaintza hori baloratzen zenbaki oso bat gordetzeko
dago barruan zer sartzen ahal mugatuta 32 bit informazio merezi.
Orain bihurtzen da, da aspaldi erabaki zen
zatitu genuke 32 bit-sorta hori
Osoko zenbaki negatiboak sartu eta zenbaki oso positiboak,
lortzean barrutiaren erdi bakoitzeko.
Beraz, hori adierazten duten balio-sorta 2 negatiboak zenbaki oso sorta batekin
2 boterera the 31ra botere 31an ken 1,
eragin halaber 0 spot bat behar duzu.
>> Beraz, funtsean balio posibleak erdia Int bat dezakezu egokitzen dira negatiboak,
eta erdi positiboak dira.
Eta gutxi gorabehera hemen, hau negatiboa da buruz 2 milioi 2 milioi positiboa buruz.
Eman edo pare bat ehun milioi hartzeko.
Beraz, hori da doi dezakezu Osoko aldagai batean.
Orain, gainera, zerbait egin behar dugu unsigned zenbaki oso bat deitzen.
Orain unsigned ints ez dira aldagai mota bereizi.
Hobeto esanda, sinatu gabe dago zer ari promozioko deitzen.
Datuen aldatu egiten du zenbaki oso mota apur bat.
>> Eta, kasu honetan, zer unsigned esan nahi du eta, era berean, ezin duzu
beste unsigned datu-mota erabili, zenbaki oso ez da bakarra.
Zer eraginkortasunez egiten da bikoitzak balio-sorta positiboa du
zenbaki oso bat hartu ahal at Jada ez uzteko kaltetan
to you balioak negatiboak hartu.
Beraz badakiela zenbakiak baldin baduzu 2 milioi baino handiagoa da, baina gutxiago jasoko
4 milioi baino, adibide erabiliz horietatik 2 32º behar da power--
Baliteke erabili nahi duzun unsigned int bat baduzu
Badakizu zure balioa ez da inoiz negatiboa izan.
>> Noizean behin behar aldagai unsigned erabilitako
CS50, eta horregatik, hemen aipatu dut.
Baina, berriro ere, balio-sorta duzula unsigned zenbaki oso batekin ordezkatzen dezake
zenbaki oso erregular t bezala, are 0 2 32. boterea ken 1 to to,
edo 0, gutxi gorabehera 4 milioi.
Beraz, bikoiztu eraginkortasunez duzu sorta positiboa dela doi dezakezu,
baina denok amore eman duzu balio negatiboak.
>> Orain bat alde batera utzita, sinatu gabe gisa Ez da promozioko bakarrak
garençát ikusi dituzten datu motak.
Horrez gain, badira gauzak izeneko labur eta luze eta eraikiak.
Const Ikusiko dugu apur bat Pixka ikastaroa ere geroago.
Laburrak eta luzeak, ziurrenik ez dugu.
>> Baina besterik ez daki beste sailkatze dira.
Unsigned ez da bakarra.
Baina bakarra garela da oraintxe buruz hitz egiteko.
Beraz, guztiak ondo.
Beraz, zenbaki osoen estaltzen dugu.
Zer da hurrengoa?
>> Karakteretan.
Beraz karakteretan dira aldagai erabilitako duten pertsonaiak single gordeko.
Char da pertsonaia labur.
Eta batzuetan, agian ez duzu entzungo pertsona bat bezela da auto bezala.
>> Beraz, pertsonaiak beti hartu up bat memoria byte, horrek bit besterik 8 da.
Beraz, horrek esan nahi du ez dutela bakarrik doi ditzakezu negatiboa 2 sorta balioak
zazpigarren potentzia, edo negatiboa 128 to, 2 7an boterea ken 1, edo 127 da.
>> ASCII esker, izan zen aspaldi bide bat egitea erabaki
Zenbakiak positiboa dutenen mapa etara 0 127 hainbat pertsonaiak
guztiak gure teklatuan existitzen dela.
Beraz, ahalik dugu geroago ere ikusiko ikastaroa, eta baliteke zuk
etortzen batzuk buruz ikasi Puntu, kapital A, adibide erabiliz
pertsonaia hiriburua A-- 65 zenbakira mapak.
Eta horren arrazoia da hori delako zer egin da
esleituta ASCII estandarraren arabera.
>> Lowercase A 97 da.
Pertsonaia 0 denean zuretzat benetan idazten pertsonaia, ez
zero zenbakia ordezkari, 48 da.
Pare bat ikasten duzu horien you go bezala.
Eta zalantzarik gabe etorriko duzu behar pixka bat CS50 geroago.
>> The datuak hurrengo mota nagusien da puntu mugikorreko zenbakiekin.
Beraz, puntu mugikorreko zenbakien dira zenbaki errealak bezala ere ezaguna.
Funtsean Oraindik dute zenbakiak hamartar haietan puntu bat dute.
Koma-higikorreko balioak Osoko zenbaki bezala dira, halaber,
4 byteko memoria jasotako barruan.
Orain ez dago taula ez da hemen.
Badira zenbaki lerroa ez da, izan ere, karroza baten estaldura deskribatzen duen
ez da zehazki argi edo intuitiboa.
>> Nahikoa da zuk esatea 32 bit lan egin.
Eta zenbaki bat baduzu atsegin pi, ditu
zenbaki oso zati bat 3, eta bat mugikorra Puntu parte, edo zati hamartar 0,14159,
eta abar, gai izan behar duzu it guztia biltzeko ahalmena
Zenbaki parte eta zati hamartarra.
>> Beraz, zer esan nahi duela uste duzu?
Gauza bat da hori hamartar bada Parte luzeagoa eta luzeagoa lortzen,
oso handi bat badut zenbaki oso parte, agian ez dut
izan zehatzak bezala izan ahal parte dezimalekin.
Eta hori da benetan mugikor bat mugatzea.
>> Karroza doitasun arazo bat.
32 bit bakarra daukagu batera lan egiten du, beraz, ezin dugu bakarrik
izan, beraz, gure aldetik hamartar batekin zehatza.
Ezin nahitaez hamartar bat daukagu Parte 100 edo 200 zifrako zehatzak,
bakarrik izan dugulako 32 bit-ekin lan.
Beraz, hori mugikor bat mugatzen da.
>> Orain, zorionez, ez da izeneko datu-mota beste
zertxobait bikoitza, Arazo hau jorratzen.
Bikoizten, karroza bezala, ere erabiltzen dira zenbaki errealak, edo puntu mugikorreko gordetzeko
balioak.
Aldea dela bikoizten doitasun bikoitza daude.
64 bit egokitzen ahal izango dute datuak, edo zortzi byte.
Zer esan nahi du horrek?
Beno, ezin izango dugu esan nahi du askoz gehiago hamarren batera zehatza.
Pi beharrik zazpi ordez lekuak, agian, karroza batekin,
agian, ezin dugu izan da 30 lekuak.
Hori da garrantzitsua bada, baliteke nahi duzun bikoitz bat erabili ordez karroza baten.
Funtsean, ez bazaude ezer bertan ari da lanean
leku hamartar benetan luze bat izatea eta doitasun asko garrantzitsua da,
Ziurrenik zuk nahi overfloat bikoitza erabiltzen.
Orain zure lan gehienak egiteko CS50, mugikor bat nahikoa behar.
Baina ez dakit bikoizten duten bezala existitzen Bide doitasun zertxobait landu
emanez gehigarri bat 32 by arazoa bit zure zenbakiak batera lan.
>> Azken hau ez da datu-mota bat.
Hau mota bat da.
Eta nik hutsune deitzen.
Eta horri buruz hitz egiten ari naiz Hemen Seguru asko dugu delako
ikusten du pare bat aldiz dagoeneko CS50.
Eta galdetzen duzu agian zer guztiei buruz da.
>> Beraz, hutsune mota bat da.
Gero existitzen.
Baina ez da datu-mota bat.
>> Ezin dugu motako aldagai bat sortu bertan behera gelditu eta balioa ematen da.
Baina funtzio, adibidez, hutsunea itzulera mota bat izan daiteke.
Funtsean, funtzio bat ikusten baduzu duten hutsunea itzulera mota bat du,
ez du baliorik itzuli dela esan nahi du.
Daiteke komun bat dela uste duzu orain arte erabili dugu funtzioa
CS50 horrek ez du baliorik itzuli?
>> Printf bat da.
Printf ez benetan ezer itzuliko.
Zerbait bistaratzen du! proiektatuko da, eta da, funtsean,
Bigarren mailako printf zer egiten duen efektua.
Baina ez du ematen dizute balio bat itzuli.
Zuk ez duzu emaitza eta denda harrapatzeko geroago erabili ahal izateko aldagai batzuk ere egiten.
Zerbait bistaratzen besterik ez da pantailan eta zu.
>> Beraz, esan dugun printf void funtzioa da.
Nothing itzultzen ditu.
>> Zerrenda bat perimetroa Funtzio void ere izan daiteke.
Eta zuk, halaber, ikusiak CS50 nahiko pixka bat ere bai.
Int hutsune nagusia.
Zaizu hori?
Funtsean, zer esan nahi duen nagusiak ez du parametrorik hartu.
Ez da, argudiorik ez dagoela emateko nagusiak pasa.
Orain geroago ikusiko dugu ez dagoela da argumentuak pasatzeko modu bat nagusitan,
baina, orain arte zer dugu ikusi int hutsune nagusia da.
Main besterik ez du argumenturik hartzen.
Eta beraz, zehaztu dugun hutsunea esanez.
Besterik ez oso ari gara izanik Izan ere, berariazko
dela, ez du argumenturik hartzen.
>> Beraz, oraingoz, nahikoa da hutsune hori, funtsean, esan
behar besterik balioko leku-marka gisa zuretzat pentsatzen ezer bezala.
Ez da benetan ezer egin.
Ez dago bueltan balio hemen.
Ez da, parametro no hemen.
Hutsunea da.
Apur bat gehiago, hori baino konplexuagoa da.
Baina hau nahikoa behar egiteko Ikastaroaren zati hobea.
Eta zorionez, gaur egun pixka bat behar duzu Pixka kontzeptu bat zer hutsa da da gehiago.
>> Beraz, horiek dira bost moten dituzu hori eraiki-ari C. den topaketa
Baina CS50 liburutegi bat ere izan dugu.
CS50.h, horien artean dezakezu.
Eta horrek emango dizu Bi mota gehiagoarekin
baliteke zuk ere gai hori Zure zereginak erabili,
edo, besterik gabe, oro har, lan programazioa.
>> Horietako lehena bool da.
Beraz, datu Boolean mota, bool, aldagai erabiltzen da
balio boolear bat gorde beharko.
Nik inoiz ez baduzu entzun hitz hori, zuk
Baliteke boolear bat dela jakin balio, bakarrik egiteko gai
bi balio desberdin desberdinetan eusten.
Egia eta gezurra.
Azken hau, dirudienez, nahiko funtsezkoa da, ezta?
Da sorpresa bat, hori moduko It ez du C existitzen nik eraiki-eta.
Eta hizkuntza modernoak askotan, jakina, Booleans
Datu lehenetsia estandar mota bat dira.
Baina C, Oraindik benetan dute, ez.
Baina sortu dugu zuretzat.
Beraz, inoiz behar duzu sortzean aldagai baten mota boolearra da,
ziurtatu CS50.h den zure programaren hasieran,
eta sortu ahal izango duzu bool motako aldagaiak.
>> Ahaztu baduzu CS50.h den, eta Boolean motako aldagaiak erabiltzen hasi,
Arazo batzuk izan zenitzake Programa konpilatzean zaren.
Beraz, besterik ez dela ibiliko delako.
Eta, agian, besterik gabe dezakezu konpondu du libra cs50.h. barne arazoak
>> Datuak beste mota garrantzitsu garela zuretzat ematen CS50 liburutegian
katea da.
Beraz, zer kate bat da?
Strings benetan hitz besterik ez dira.
Karaktere bildumak Oraindik dute.
Hitz egin dute denek.
Adibidea ari dira.
Paragrafoetan ari dira.
Liburu osoak izan daitezke baita.
>> Oso laburra oso luzea karaktere-sorta.
Kateak erabili behar baduzu, adibidez, hitz bat gordetzeko,
ziurtatu CS50.h, besteak beste zure programaren hasieran
beraz, kate mota erabili ahal izango duzu.
Eta gero, aldagai sor dezakezu zeinen datu-mota katea da.
Orain geroago ikastaroa on, halaber, ikusi dugu, hori da
Ez du istorio osoan, bai.
Gauzak topo egingo dugu egiturak deitzen,
bertan uzten duzu zer izan daiteke taldera zenbaki oso bat, eta unitate bat sartu katea.
Eta hori erabili ahal izango dugu helburu batzuk, eta agian
erabilgarri etorriko geroago ikastaroan.
>> Eta, era berean, ez dugu ikasiko definitu motei buruz,
horrek sortu uzten Zure datu-mota propioa.
Ez dugu behar kezkatu oraingoz horri buruz.
Baina besterik ez dakit, hori da Zerbait horizonte,
Ba hori da, asko osotasunean honetarako gehiago mota gauza dizut kontatzea baino besterik
orain.
Beraz, gaur egun ditudan ikasi dugu oinarrizko datuei buruz pixka
mota eta CS50 datu motak, dezagun nola aldagai batekin lan buruz hitz egin
eta sortu itzazu horiek erabilita Datu gure programetan mota.
Aldagai bat sortu nahi baduzu, Egin behar duzun guztia, bi gauza da.
>> Lehenengoa, emateko mota bat behar duzu.
Behar duzu, bigarren gauza egin da izen bat eman.
Behin egin ditudan eta slapped bat lerro horren amaieran puntu eta koma,
aldagai bat sortu duzun.
>> Bi adibide dira ba.
Int kopurua; char gutun ;.
Nik hemen egin dut?
Bi aldagai sortu dut.
>> Lehenengo eta behin, aldagai hamarkadako The izen zenbakia.
Eta osoko zenbaki eskuratzeko gai da balioak idatz, bere mota int dagoelako.
Gutun beste aldagai bat da duten karaktereak eutsi ahal
bere datu-mota char dagoelako.
>> Nahiko erraza da, ezta?
Zeure burua aurkituko duzu bada egoera bat non
anitz sortu behar duzu Mota bereko aldagai,
den zehaztu behar duzu soilik mota izenarekin behin.
Ondoren, besterik ez zerrendatu aldagai asko bezala mota hori behar duzun bezala.
>> Beraz, adibidez, hemen ezin izan dut Hirugarren kode-lerro honetan,
int altuera ;, linea berria esateko.
Int zabalera ;.
Eta hori ere lan egiten dute.
Oraindik nuke emateko izeneko bi aldagai altuera eta zabalera, eta bakoitzak bere
zenbaki oso bat da.
Baina nahi dut onartzen, C sintaxia gauza, sendotzea da lerro bakar batean.
Int altuera, zabalera; Gauza bera gertatzen da.
Izeneko bi aldagai, inork ez oraindik zabalera izeneko altuera bat, biak ere
daude eskuratzeko gai zenbaki oso mota balioak.
>> Era berean, hemen, hiru sortu ahal izango dut koma mugikorreko balio aldi berean.
Agian I aldagai bat sortu ahal 2-- erro karratua izeneko
ustez joango diren eduki du puntu mugikorreko
Plazaren ordezkaritza duten 2-- 3 erro karratua, eta pi erro.
Horixe bera egin zezakeen Hiru lerro ezberdinetan.
Higikorra, erro karratua 2; Flotatzen erro karratua 3; flotatzen pi; eta hori ere lan egiten dute.
>> Baina, berriro ere, besterik ez dut sendotzeko hau kode lerro bakar batean.
Egiten gauzak pixka bat laburragoak, ez bezala clunky.
>> Orain, oro har, soilik diseinu ona da aldagai bat izendatuko behar duzunean.
Eta hitz egin dugu pixka bat horri buruz pixka gehiago
geroago ikastaroa on denean esparrua aztertuko ditugu.
Beraz, ez du zertan egin behar Zure aldagai guztiak sortu
Programaren hasieran, etxean bertan pertsona batzuek iraganean egin liteke,
edo zen, zalantzarik gabe, oso ohikoa Duela kodeketa praktika urte asko
C. lan egiten denean besterik ez dezakezu eskubidea aldagai bat denean sortu nahi
behar duzu.
Ados.
Beraz, aldagai sortu dugu.
Nola erabiltzen dugu?
Aldarrikatzen dugu jaso du aldakorra, ez dugu behar
Datu mota zehaztu aldagai hori jada.
Izan ere, egiten baduzu, baliteke azkenean, ondorio bitxi batzuk
motatako zaitugu distira baino gehiago orain dela.
Baina nahikoa da esan, Gauza bitxi doaz
baduzu gertatzen hasteko oharkabean Berriro aldarrikatu aldagai izen bereko beste
behin eta berriro.
>> Hortaz, hona hemen lau kode lerro daukat.
Eta pare bat daukat iruzkinak ez dela adieraziz
zer gertatzen Lerro bakoitzaren besterik lagundu
Lortuko duzu zer ari den gertatzen kokatua.
Beraz, int zenbakia ;.
Aurretik ikusi duzu.
Hori deklarazio aldagai bat da.
>> Orain aldagai bat sortu dut zenbakia deitzen hori da
zenbaki oso-mota balioak eskuratzeko gai.
Nik deklaratu du.
>> Hurrengo lerroan Dut esleitzeko zenbakira balio bat.
Zenbakia berdinen 17.
Zer ari da gertatzen hor?
17 zenbakia naiz jarriz aldagai horren barruan.
>> Beraz nuen inoiz ondoren, inprimatu zer zenbakiaren edukiak geroago daude,
esango dute me da 17.
Beraz, aldagai bat deklaratu dut, eta gero zuk esleitutako dut.
>> Prozesua errepikatu ahal izango dugu Berriro char gutun batekin ;.
Hori deklarazio bat da.
Gutun berdinen capital H. Hori esleipen bat da.
Nahiko erraza da, gehiegi.
>> Orain, prozesu hori Badirudi silly mota.
Zergatik egiten dugu bi kode lerro batean?
Ba al dago modu bat hobea egin behar den?
Izan ere, ez da.
Batzuetan, ikus daitezke hau initialization deitzen.
Hori besterik ez da aldagai bat aldarrikatu duzu eta balioa ematen dira aldi berean.
Hau da, benetan polita bat gauza komun egin.
Noiz aldagai bat sortzen duzunean, normalean Nahi oinarrizko balio batzuk izatea da.
Nahiz da 0 edo zerbait.
Besterik ez duzu balio bat ematen dizute.
>> Aldagai bat hasieratu dezakezu.
Int kopuru berdinen 17-ren berdina da kodea lehen bi lerro gora gainetik.
Char gutun berdinen h-ren berdina da Hirugarren eta laugarren kode lerro gainetik.
Garrantzitsuena eramateko hemen geratuko eta esleitzea, ari gara eta
aldagaiak dugu ondoren deklaratu, oharra
Ez naiz datu mota erabiliz berriro.
Ez dut esaten int zenbakia berdinen 17an kodea bigarren, adibidez.
Besterik ez dut esaten kopuru berdinen 17.
>> Berriz ere, berriro ere geratuko ondoren aldagai bat deklaratu Jadanik ekar daiteke
ondorio bitxi batzuk.
Beraz, besterik izan zaindua.
>> Naiz Doug Lloyd.
Eta hau da CS50.