[Powered by Google Translate] [Seachtain 5]
[David J. MALAN - Ollscoil Harvard]
Is é [seo CS50. - CS50.TV]
>> Is é seo an CS50, Seachtain 5.
Sa lá atá inniu agus an tseachtain seo, dúinn a thabhairt isteach le beagán de shaol na forensics
i gcomhthéacs an Fadhb Socraigh 4.
Beidh lá atá inniu léacht giorraithe mar níl ócáid ​​speisialta i anseo ina dhiaidh.
Mar sin, beidh orainn a ghlacadh peek agus an dá mac léinn agus tuismitheoirí araon lá atá inniu ann tease
le roinnt de na rudaí a bhfuil ar na spéire.
>> I measc iad, mar an Luan, beidh tú ag classmates cúpla níos mó.
edX, Harvard agus MIT nua tionscnamh ar líne le haghaidh OpenCourseWare agus níos mó,
Tá a sheoladh ar an gcampas Harvard ar Dé Luain, rud a chiallaíonn teacht Dé Luain
beidh ort, mar de chomhaireamh deiridh, 86,000 classmates breise
a bheidh ag leanúint chomh maith le léachtaí CS50 agus ailt
agus walkthroughs agus leagann fhadhb.
Agus mar chuid de seo, beidh tú bheith ina gcomhaltaí den aicme tionscnaimh CS50 agus anois CS50x.
Mar chuid de seo anois, a thuiscint go mbeidh roinnt upsides chomh maith.
Chun a fháil réidh le haghaidh seo, an líon ollmhór na mac léinn,
leor é a rá, áfach, cé ní mór dúinn 108 TFS agus CAanna,
nach bhfuil sé go leor an chuid is fearr mac léinn-cóimheas múinteoir nuair a bhuail muid 80,000 de na mic léinn.
Ní Táimid ag dul a bheith Leagann ghrádú fhadhb an oiread sin de láimh,
Beidh sin a thabhairt isteach an tseachtain seo sa tacar fhadhb CS50 Seiceáil,
atá ag dul chun bheith ina fóntais orduithe-líne laistigh den fearas
go mbainfidh tú a fháil nuair a tá tú thabhairt cothrom le dáta é níos déanaí an deireadh seachtaine seo.
Feicfidh tú a bheith in ann a reáchtáil ar a dtoil, check50, ar do pset féin,
agus beidh tú aiseolas a fháil láithreach maidir le cibé an bhfuil do chlár ceart nó mícheart
réir sonraíochtaí dearadh éagsúla go bhfuil muid ar fáil.
Níos mó ar an sa tsonraíocht atá leagtha fhadhb.
Beidh an rang CS50x ag baint úsáide as seo chomh maith.
>> Tá 4 Socraigh Fadhb ar fad faoi forensics,
agus tá sé seo pset bhí spreagtha i ndáiríre ag roinnt rudaí fíor-saoil
trína nuair a bhí mé ar scoil iarchéime imtheorannú mé ar feadh tamaill
le Dúiche Middlesex Chontae Ard-Aighne oifig ag déanamh obair fhóiréinseach
lena n-imscrúdaitheoir fhóiréinseach luaidhe.
Cad a ionann sin agus, mar a cheapann mé a luaigh mé cúpla seachtain anuas,
Is é a bheadh ​​na Póilíní Stát Aifreann nó daoine eile teacht i,
mbeadh siad titim as rudaí cosúil le thiomáineann agus dlúthdhioscaí crua agus dioscaí flapacha agus a leithéidí,
agus ansin ba é an sprioc na hoifige forensics chun a fháil amach
an raibh nó nach raibh fianaise ar de chineál éigin.
Ba é seo an Imscrúduithe Speisialta Aonad, mar sin bhí sé white-collar coireachta.
Bhí sé saghas níos mó troubling coireanna, rud ar bith a bhaineann le roinnt de chineál na meán digiteach.
Casadh sé amach nach é sin a scríobh a lán daoine ar ríomhphost ag rá, "Rinne mé é."
Mar sin, is minic go leor, ní raibh na cuardaigh fhóiréinseach dul suas go léir go torthaí i bhfad,
ach uaireanta a bheadh ​​daoine a scríobh r-phoist den sórt sin.
Mar sin, uaireanta, bhí luach saothair na n-iarrachtaí.
>> Ach i gceannas ar suas go dtí seo pset fhóiréinseach, beidh orainn a bheith ag tabhairt isteach i pset4 le beagán de grafaic.
Leat a chur dócha na rudaí seo talamh slán - jpeg, GIFs, agus a leithéidí - na laethanta seo.
Ach má cheapann tú i ndáiríre faoi, íomhá, i bhfad mar aghaidh Rob, ar
D'fhéadfaí a mhúnlú mar sraith de poncanna nó pixel.
I gcás duine Rob s, níl gach cineál na dathanna,
agus thosaigh muid a fheiceáil na poncanna aonair, ar shlí eile ar a dtugtar picteilíni,
nuair a thosaigh muid chun súmáil isteach
Ach má shimpliú againn ar an domhan le beagán agus díreach rá go bhfuil an anseo Rob i dubh agus bán,
chun ionadaíocht a dhéanamh dubh agus bán, is féidir linn a úsáid ach dénártha.
Agus má táimid ag dul dénártha a úsáid, 1 nó 0, is féidir linn a chur in iúl an íomhá céanna
de aghaidh miongháire Rob ar leis an bpatrún sin de giotán.
11000011 ionann bán, bán, dubh, dubh, dubh, dubh, bán, bán.
Agus mar sin nach bhfuil sé de léim ollmhór ansin chun tús a chur ag caint faoi grianghraif ildaite,
rudaí gur mhaith leat a fheiceáil ar Facebook nó a ghlacadh le ceamara digiteach.
Ach cinnte nuair a thagann sé dathanna, is gá duit giotán níos mó.
Agus coitianta go leor i saol na grianghraif a úsáid nach bhfuil 1-giotán dath,
mar a léiríonn an seo, ach 24-giotán dath, áit a bhfuil tú a fháil iarbhír na milliúin dathanna.
Mar sin, mar atá i gcás nuair a súmáilte againn i súile ar Rob, ar
go raibh líon ar bith de na milliúin féidearthachtaí ildaite éagsúla.
Mar sin, beidh orainn seo a thabhairt isteach i 4 Socraigh Fadhb chomh maith sa walkthrough,
Beidh lá atá inniu ann ag 3:30 in ionad an gnách 2:30 mar gheall ar léacht Dé hAoine anseo.
Ach beidh físe ar líne mar amárach is gnách.
>> Beidh muid a thabhairt isteach chomh maith leat chun eile formáid comhaid.
Tá sé seo i gceist d'aon ghnó chun breathnú imeaglaithe ar dtús,
ach tá sé seo ach roinnt cáipéisí le haghaidh struct C.
Casadh sé amach gur chabhraigh bliain ó shin Microsoft popularize an bhformáid seo
ar a dtugtar an fhormáid comhaid bitmap, BMP, agus bhí sé seo Super simplí, formáid comhaid ildaite ghrafach
Baineadh úsáid as go leor ama a roinnt agus uaireanta i gcónaí le haghaidh wallpapers ar ríomhairí deisce.
Má cheapann tú ar ais go dtí Windows XP agus na cnoic rollta agus an spéir gorm,
go raibh de ghnáth íomhá BMP nó bitmap.
Bitmaps bhfuil spraoi do dúinn mar go bhfuil siad castacht beagán níos mó.
Níl sé go leor chomh simplí sin greille de 0s agus 1s.
Ina áit sin, tá tú rudaí cosúil le header ag tús comhad.
Dá bhrí sin tá i bhfocail eile, taobh istigh comhaid a. Bmp a bunch iomlán de 0s agus 1s,
ach tá roinnt 0s agus 1s breise ann.
Agus casadh sé amach go bhfuil an méid atá déanta againn a glacadh dócha a deonaíodh do na blianta -
formáidí comhaid mhaith. doc nó. xls nó. mp3,. mp4, is cuma cén an formáidí comhaid
go bhfuil tú eolach - cad a chiallaíonn sé fiú a bheith i bhformáid comhad,
mar gheall ag deireadh an lae a úsáid gach ceann de na comhaid againn ach 0s agus 1s.
Agus b'fhéidir iad siúd 0s agus 1s ionadaíocht a dhéanamh ar ABC trí ASCII nó a leithéidí,
ach ag deireadh an lae, tá sé fós ach 0s agus 1s.
Mar sin, daoine díreach a chinneadh ó am go chéile a chumadh formáid comhaid nua
ina bhfuil siad a chaighdeánú cad a bheidh patrúin giotán i gceist i ndáiríre.
Agus sa chás seo anseo, na folks a dhear an fhormáid comhaid bitmap
Dúirt an beart an-an chéad i gcomhad bitmap, arna scríobh mar ag 0 fhritháireamh ann,
ann ag dul a bheith ar roinnt cryptically ainmnithe bfType ar a dtugtar athróg,
a sheasann ach le haghaidh cineál comhaid bitmap, cad é cineál comhaid bitmap seo.
Is féidir leat tátal a bhaint astu b'fhéidir ón dara sraith a fhritháireamh 2, uimhir 2 bheart,
Tá patrún 0s agus 1s gur ionann cad é? An méid ar rud éigin.
Agus téann sé ar aghaidh ó ann.
Mar sin, i 4 Socraigh Fadhb, beidh tú a shiúil trí roinnt de na rudaí seo.
Ní bheidh muid suas go deireadh ag tabhairt aire faoi gach ceann acu.
Ach fógra a thosaíonn sé a fháil suimiúil ar fud beart 54: rgbtBlue, Glas, agus Red.
Má tá tú ag éisteacht riamh an t-acrainm RGB - dearg, glas, gorm - tá sé seo is tagairt í don
mar gheall ar casadh sé amach is féidir leat a péint gach dathanna an tuar ceatha
le roinnt meascán de dearg agus gorm agus glas.
Agus i ndáiríre, d'fhéadfadh tuismitheoirí sa seomra cuimhne ar roinnt de na teilgeoirí luaithe.
Na laethanta seo, a fheiceann tú ach amháin solas geal ag teacht amach as lionsa,
ach ar ais sa lá bhí tú an lionsa dearg, an lionsa gorm, agus an lionsa glas,
agus le chéile dírithe siad ar scáileán agus bhunaigh siad pictiúr colorful.
Agus go minic go leor, go mbeadh scoileanna lár agus scoileanna ard ag na lionsaí
riamh chomh Askew beagán, mar sin bhí tú saghas féachaint ar íomhánna dúbailte nó triple.
Ach bhí go bhfuil an smaoineamh. Bhí tú solas dearg agus glas agus gorm péinteáil pictiúr.
Agus is é an bprionsabal céanna a úsáidtear i ríomhairí.
>> Mar sin, i measc na dúshláin sin le haghaidh tú i Fadhb atá Set 4 ag dul a bheith ar roinnt rudaí.
Is é ceann a athrú i ndáiríre an íomhá, a ghlacadh i patrún de 0s agus 1s,
figiúr amach a léiríonn smután de 0s agus 1s cad i struchtúr mar seo,
agus figiúr sin amach conas a mhacasamhlú ar an pixel - an reds, na gormacha, an Greens -
taobh istigh ionas go nuair a bhreathnaíonn pictiúr mar seo ar dtús,
d'fhéadfadh sé breathnú mar seo in ionad ina dhiaidh sin.
I measc na dúshláin eile freisin ag dul a bheith go mbainfidh tú a thabhairt ar láimh íomhá dlí-eolaíochta
de chomhad iarbhír as ceamara digiteach.
Agus ar an cheamara, uair amháin ar am, bhí a bunch iomlán de grianghraif.
Is é an fhadhb a scriosadh againn thaisme nó go raibh an íomhá truaillithe ar bhealach.
Tharlóidh rudaí olc le ceamaraí digiteacha.
Agus mar sin a chóipeáil againn go tapa gach ceann de na amach 0s agus 1s an chárta ar do shon,
shábháil iad go léir in aon chomhad mór, agus ansin beidh muid iad a thabhairt ar láimh chun tú i Fadhbanna Socraigh 4
ionas gur féidir leat scríobh le clár i C a a ghnóthú go léir de na jpeg, go hidéalach.
Agus casadh sé amach go jpeg, cé go mbíonn siad beagán de formáid comhaid casta -
tá siad i bhfad níos casta ná an duine miongháire anseo -
casadh sé amach go dtosaíonn gach JPEG leis na patrúin céanna 0s agus 1s.
Mar sin, ag baint úsáide as, ar deireadh thiar, lúb fad nó ar feadh a lúb nó comhchosúil,
is féidir leat abair leo thar na 0s agus 1s sa íomhá dlí-eolaíochta,
agus gach uair a fheiceann tú ar an patrún speisialta a s a shainmhínítear sa tsonraíocht atá leagtha fhadhb,
is féidir leat glacadh leis anseo, le dóchúlacht an-ard, tús le JPEG.
Agus chomh luath agus a fhaigheann tú an patrún céanna éigin líon na mbeart
nó cilibheart nó meigibheart níos déanaí, is féidir leat glacadh leis anseo JPEG dara,
an grianghraf ghlac mé tar éis an chéad cheann.
Lig dom a stopadh ag léamh go comhad ar dtús, tús a scríobh an ceann nua,
agus tá an t-aschur ar do chlár pset4 ag dul a bheith mar go leor le 50 jpeg.
Agus más rud é nach bhfuil sé 50 jpeg, tá tú beagán de lúb.
Má tá tú líon gan teorainn de jpeg, tá tú lúb gan teorainn.
Mar sin, go mbeidh a bheith ró-leor cás coiteann.
Mar sin, go bhfuil cad atá ar na spéire.
>> Tráth na gCeist 0 taobh thiar dúinn, a bhaint amach in aghaidh mo ríomhphost go invariably tá folks atá áthas ar an bheirt,
saghas ama neodrach, agus brónach timpeall tráth na gceist 0.
Agus le do thoil teagmháil a dhéanamh le dom, an ceann TF Zamyla, do TF féin,
nó ceann de na CAanna bhfuil a fhios agat más mian leat a phlé conas a chuaigh rudaí.
>> Mar sin, le luí na tuismitheoirí anseo sa seomra, cad é an leabharlann CS50?
[Gáire] post Chéasta.
Cad é an leabharlann CS50? Yeah. >> [Mac léinn] Tá sé sraith réamh-scríofa de chód [inaudible]
Maith go leor, go maith.
Tá sé sraith réamh-scríofa de chód gur scríobh againn ar an bhfoireann, a chuirimid ar fáil duit,
go soláthraíonn roinnt feidhmiúlacht coitianta,
rudaí cosúil fháil dom ar shraith, a fháil dom o - gach ceann de na feidhmeanna atá liostaithe anseo.
>> Ag tosú anois, tús a chur orainn a ghlacadh i ndáiríre ar na rothaí oiliúna as.
Táimid ag dul chun tús a chur amach ar shraith ó tú,
Ba é a aisghlaoch ach synonym do cén cineál sonraí iarbhír? >> [Mic léinn il] Char *.
* Char. Do thuismitheoirí, go raibh dócha [dhéanann fuaim whooshing]. Sin maith.
* Char beidh orainn tús a fheiceáil ar an scáileán ar fad níos mó agus muid ag bhaint teaghrán as ár stór focal,
ar a laghad nuair a thagann sé i ndáiríre a scríobh cód.
Mar an gcéanna, beidh muid ag stopadh ag baint úsáide as roinnt de na feidhmeanna a oiread
mar go bhfuil ár gcláir ag dul a fháil níos sofaisticiúla.
Seachas scríobh ach cláir a suí ansin le blinking pras,
ag fanacht leis an úsáideoir rud éigin le cineál i, beidh tú a fháil do ionchur ó áiteanna eile.
Mar shampla, beidh tú iad a fháil as sraith giotán ar an iarracht crua áitiúil.
Feicfidh tú a fháil in ionad dóibh sa todhchaí ó nasc líonra,
roinnt láithreán gréasáin áit éigin.
>> Mar sin a ligean craiceann ciseal ar ais seo don chéad uair agus tarraingt an fearas CS50 suas
agus an comhad seo ar a dtugtar cs50.h, a tá tú ag lena n-áirítear # ar feadh seachtaine,
ach ligean ar a fheiceáil i ndáiríre cad atá taobh istigh de seo.
Is é an barr an comhad i gorm ach a bunch iomlán de na tuairimí:
faisnéis bharántas agus ceadúnú.
Is é seo an saghas paraidím coitianta i bogearraí
toisc go bhfuil a lán de bogearraí na laethanta cad atá ar a dtugtar foinse oscailte,
rud a chiallaíonn go bhfuil duine éigin i scríbhinn ar an gcód agus cuireadh ar fáil é saor in aisce
ní hamháin a reáchtáil agus a úsáid ach a léamh iarbhír agus a athrú agus a chomhtháthú isteach i do chuid oibre féin.
Mar sin, go bhfuil an méid atá tú ag baint úsáide as, bogearraí foinse oscailte, cé gur i bhfoirm an-bheag.
Má scrollbharra mé síos roimhe seo ar na tuairimí, áfach, beidh muid tús a fheiceáil roinnt rudaí níos mó eolas.
Fógra ag an mbarr anseo go n-áirítear an comhad cs50.h a bunch iomlán de chomhaid header.
An chuid is mó díobh sin, nach bhfuil feicthe againn roimhe seo, ach tá sé ar cheann ar an eolas.
Cé acu de na feicthe againn, cé go hachomair, go dtí seo? >> [Mac léinn] leabharlann Simplí.
Yeah, leabharlann caighdeánach. stdlib.h Tá malloc.
Nuair a thosaigh muid ag caint faoi leithdháileadh cuimhne dinimiciúil,
a beidh muid ag teacht ar ais chuig an tseachtain seo chugainn chomh maith, thosaigh muid lena n-áirítear an gcomhad sin.
Casadh sé amach nach bhfuil bool agus fíor nó bréagach ann i ndáiríre i C per se
ach amháin má tá tú an comhad seo anseo.
Táimid tar éis ar feadh seachtainí ag lena n-áirítear stdbool.h
ionas gur féidir leat úsáid a bhaint as an coincheap de. bool, fíor nó bréagach
Gan seo, a bheadh ​​agat a shórtáil de falsa sé agus o úsáid
agus díreach glacadh leis treallach go bhfuil 0 bréagach agus 1 fíor.
Má scrollaigh muid síos a thuilleadh, is anseo ar ár sainmhíniú ar teaghrán.
Casadh sé amach, mar atá againn a dúirt roimh, nach bhfuil an réalta ábhar i ndáiríre.
Is féidir leat fiú spás go léir timpeall.
Táimid an seimeastar tar éis chur chun cinn mar seo a dhéanamh soiléir
go bhfuil an réalta a dhéanamh leis an gcineál,
ach a bhaint amach ach coitianta, más rud é nach beag níos coitianta,
Is é a chur sé ann, ach feidhmiúil tá sé an rud céanna.
Ach anois má léigh muid síos a thuilleadh, a ligean ar ghlacadh le breathnú ar GetInt
mar gheall ar úsáid againn go chéad uair, b'fhéidir roimh aon rud eile seo seimeastar.
Anseo tá GetInt. Is é seo cad é? >> [Mac léinn] A fhréamhshamhail. >> Is é seo ach fhréamhshamhail.
Go minic, ní mór dúinn fréamhshamhlacha a chur ag barr ár. Comhaid c,
ach is féidir leat a chur freisin fréamhshamhlacha i gcomhaid header,. comhaid h, mar seo anseo
ionas gur nuair a scríobhann tú roinnt feidhmeanna gur mian leat daoine eile a bheith in ann úsáid a bhaint as,
a bhfuil baileach an cás leis an leabharlann CS50,
tú, ní hamháin i bhfeidhm do fheidhmeanna i rud éigin cosúil le cs50.c,
chuir tú freisin an fréamhshamhlacha ní ag barr an chomhaid ach ag barr an comhad header.
Ansin, tá go comhad header cad measc cairde agus comhghleacaithe
le I measc # Bhí gcuid cód féin.
Mar sin, am seo go léir, tá tú ag lena n-áirítear gach ceann de na fréamhshamhlacha,
go héifeachtach ag barr do chomhad ach trí seo san áireamh # mheicníocht,
a bunúsach cóipeanna agus leafaois an comhad seo i do chuid féin.
Seo roinnt doiciméadú go cothrom mionsonraithe.
Táimid tar éis go leor i bhfad ghlacadh maidir le deonú go bhfaigheann GetInt ina slánuimhir,
ach anois sé amach go bhfuil roinnt cásanna cúinne.
Cad a tharlaíonn má an t-úsáideoir cineálacha i roinnt go bhfuil ar bhealach ró-mhór, a quintillion,
nach féidir léi díreach taobh istigh de o? Cad é an t-iompar ag súil?
Go hidéalach, tá sé intuartha.
Mar sin, sa chás seo, má tá tú a léamh an cló breá i ndáiríre,
go mbainfidh tú a fheiceáil i ndáiríre go más rud é nach féidir leis an líne a léamh, an INT_MAX tuairisceáin.
Riamh tá muid Labhair faoi seo, ach bunaithe ar a chaipitliú, cad is dócha?
[Mac léinn] A tairiseach. >> Is tairiseach.
Tá sé roinnt tairiseach speisialta tá dearbhaithe is dócha i gceann de na comhaid header
go dtí níos airde sa chomhad, agus INT_MAX is dócha rud éigin cosúil le thart ar 2 billiún,
an smaoineamh a bheith toisc go mór dúinn a signify ar bhealach go bhfuil rud éigin a chuaigh mícheart,
againn, tá, tá 4 billiún líon atá ar fáil dúinn: -2 billiún ar suas le 2 billiún, a thabhairt nó a thógáil.
Bhuel, is é an méid atá coitianta i gcláir ghoideann tú ach ceann amháin de na huimhreacha sin,
b'fhéidir 0, 2 b'fhéidir billiún, b'fhéidir -2000000000,
mar sin a chaitheann tú ar cheann de do luachanna is féidir ionas gur féidir leat tiomantas a thabhairt ar fud an domhain
má tharlaíonn rud éigin mícheart, beidh mé ar ais an luach seo Super mór.
Ach ní mian leat an t-úsáideoir clóscríobh rud éigin cosúil le cryptic 234 ..., tá roinnt i ndáiríre mór.
Tá tú a ghinearálú in ionad an mar tairiseach.
Mar sin, i ndáiríre, má bhí a bheith agat anal na seachtainí beaga anuas, am ar bith iarr tú GetInt,
ba chóir duit a bheith seiceáil le más rud é go raibh riocht an cineál úsáideora i INT_MAX,
nó, go sonrach, rinne INT_MAX ais GetInt, mar má rinne sé,
go gciallaíonn i ndáiríre nach raibh siad cineál sé. Tharlaigh botún éigin le sa chás seo.
Mar sin, is é seo cad atá ar a dtugtar de ghnáth mar luach fairtheora, rud a chiallaíonn go díreach speisialta.
>> Déanaimis anois dul i gcomhad an. C.
Tá an comhad C ann i an fearas ar feadh tamaill.
Agus i ndáiríre, tá an fearas sé réamh-le chéile le haghaidh tú isteach sa rud ar a dtugtar againn cód réad,
ach nach bhfuil ach ábhar a thabhairt duit nuair a tá sé mar a fhios ag an gcóras
sa chás seo áit a bhfuil sé: an fearas.
A ligean ar scrollú síos anois chun GetInt agus a fheiceáil conas a GetInt ag obair ar fad an am seo.
Anseo atá againn tuairimí den chineál céanna ó roimh.
Lig dom a súmáil isteach ar chuid díreach leis an gcód.
Agus is é an méid atá againn le haghaidh GetInt méid seo a leanas.
Bíonn sé aon ionchur.
Filleann sé slánuimhir, agus (fíor), ionas go mbeidh muid lúb d'aon ghnó gan teorainn,
ach is dócha beidh muid ag briseadh amach as an bhealach nó ar ais as laistigh den.
>> A ligean ar a fheiceáil conas a oibríonn seo.
Is cosúil go againn a bheith ag baint úsáide GetString sa chéad líne taobh istigh an lúb, 166.
Tá sé seo anois dea-chleachtas toisc go bhféadfadh cad iad na himthosca GetString ar ais
an NULLComment eochairfhocal speisialta? >> [Mac léinn] Má tharlaíonn rud éigin mícheart.
Má théann rud éigin mícheart. Agus d'fhéadfadh cad a théann mícheart nuair a ghlaonn tú rud éigin cosúil le GetString?
Yeah. >> [Mac léinn] Malloc go mainneoidh a thabhairt dó an ints.
Yeah. B'fhéidir go mainneoidh malloc.
Áit éigin thíos an cochall, tá GetString ag glaoch malloc, a leithdháileann chuimhne,
a ligeann an siopa ríomhaire gach ceann de na carachtair
go bhfuil an t-úsáideoir cineálacha i an méarchlár.
Agus is dócha an t-úsáideoir a bhí a lán iomlán de ama saor in aisce agus chlóscríobh níos mó, mar shampla,
ná 2 billiún carachtair i, carachtair níos mó ná an ríomhaire go bhfuil fiú RAM.
GetString tar éis a bheith in ann a signify a thabhairt duit.
Fiú má tá sé seo Super, cás cúinne Super neamhchoitianta,
tá sé le bheith ar bhealach ann chun déileáil leis seo,
agus GetString sin, má chuaigh muid ar ais agus a léamh lena dhoiciméadaíocht, ní i NULLComment ar ais ndáiríre.
Mar sin, má theipeann anois GetString trína sheoladh ar ais NULLComment, tá GetInt ag dul a theipeann trína sheoladh ar ais INT_MAX
díreach mar fairtheora. Níl iontu seo ach coinbhinsiúin daonna.
Is é an t-aon bhealach a bheadh ​​a fhios agat é seo an cás ag léamh na doiciméid.
>> A ligean ar scrollú síos go dtí ina bhfuil an slánuimhir gotten i ndáiríre.
Má scrollbharra mé síos le beagán níos mó, i gcomhréir 170, ní mór dúinn a comment os cionn na línte.
Dearbhaímid i 172 ina slánuimhir, n, agus ruabhric, c, agus ansin an fheidhm nua seo,
a bhfuil roinnt de tú shiúil trasna roimh, sscanf.
Seasann sé seo do scanf teaghrán.
I bhfocail eile, a thabhairt dom ar shraith agus beidh scanadh mé phíosa eolais a leasa.
Cad a chiallaíonn?
Má ghlactar leis go cineál mé i, literally, 123 ag an méarchlár agus ansin brúigh Iontráil.
Cad é an cineál sonraí de 123 nuair a d'fhill de réir GetString? >> [Mac léinn] Teaghrán.
Tá sé ar ndóigh ar shraith, ceart? Fuair ​​mé teaghrán.
Mar sin, tá 123 i ndáiríre, ceanglófar-comharthaí athfhriotail, 123 leis an 0 \ ag an deireadh é.
Níl sé sin ina slánuimhir. Ní sin a roinnt. Breathnaíonn sé cosúil le roinnt, ach nach bhfuil sé i ndáiríre.
Mar sin, cad GetInt a dhéanamh?
Tá sé a scanadh go teaghrán ó chlé go deas - 123 \ 0 - agus ar bhealach a thiontú go slánuimhir iarbhír.
D'fhéadfaí tú a figiúr amach conas seo a dhéanamh.
Má cheapann tú ar ais go dtí pset2, fuair tú dócha a compordach beag le Caesar
nó Vigenere, ionas gur féidir leat abair leo níos mó ná teaghrán, is féidir leat carachtair a thiontú go ints.
Ach heck, tá sé a lán iomlán oibre.
Cén fáth nach bhfuil glaoch feidhm mhaith sscanf go ndéanann sin duit?
Mar sin, ag súil sscanf argóint - sa chás seo ar a dtugtar líne, a bhfuil teaghrán.
Tá tú a shonrú ansin i comharthaí athfhriotail, an-chosúil le printf, a bhfuil súil agat a fheiceáil ar an teaghrán.
Agus cad mé ag rá anseo mé ag súil a fheiceáil uimhir dheachúlach agus b'fhéidir carachtar.
Agus beidh orainn a fheiceáil cén fáth é seo an cás i láthair na huaire ach.
Agus casadh sé amach go bhfuil an nodaireacht anois reminiscent de na rudaí a thosaigh muid ag caint faoi
díreach os cionn seachtain ó shin.
Cad é & n agus & c dhéanamh dúinn anseo? >> [Mac léinn] Seoladh n agus seoladh c.
Yeah. Tá sé seo a thabhairt dom an seoladh n agus seoladh c. Cén fáth go bhfuil go tábhachtach?
Tá a fhios agat go bhfuil feidhmeanna i C, is féidir leat filleadh i gcónaí ar luach nó aon luach ar chor ar bith.
Is féidir leat filleadh ar slánuimhir, teaghrán, a snámhphointe, a ruabhric, is cuma cad, nó is féidir leat filleadh ar neamhní,
ach is féidir leat filleadh ach rud amháin fónamh.
Ach anseo ba mhaith linn sscanf a thabhairt ar ais dom b'fhéidir slánuimhir, uimhir dheachúlach,
agus chomh maith. Char, agus beidh mé a mhíniú cén fáth an ruabhreac i láthair
Ba mhaith leat go héifeachtach sscanf a thabhairt ar ais dhá rud, ach is é sin ní hamháin is féidir i C.
Is féidir leat obair ar fud go bhfuil ag dul in dhá seoltaí
mar gheall ar chomh luath agus is tú a lámh feidhm dhá seoltaí,
cad is féidir é sin a dhéanamh feidhm leo? >> [Mac léinn] Scríobh chuig na seoltaí.
Is féidir é a scríobh chuig na seoltaí.
Is féidir leat úsáid a oibriú réalta agus dul ann, do gach ceann de na seoltaí.
Tá sé saghas an mheicníocht ar ais go doras ach an-choitianta a athrú na luachanna na n-athróg
níos mó ná áit amháin - sa chás seo, dhá.
Anois, fógra mé ag seiceáil do == 1 agus ansin ar ais más rud é nach n sin, i ndáiríre, meastóireacht a dhéanamh fíor.
Mar sin, tá cad atá ar siúl? Teicniúil, tá gach ba mhaith linn i ndáiríre a tharlaíonn i GetInt seo.
Is mian linn a pharsáil, sin a labhairt, ba mhaith linn a léamh ar an teaghrán - ceanglófar-comharthaí athfhriotail 123 -
agus má tá sé cosúil le níl a roinnt ansin, cad tá muid ag insint sscanf a dhéanamh
é a chur go bhfuil uimhir - 123 - sa athróg n dom.
Sin, cén fáth ansin raibh mé i ndáiríre seo chomh maith?
Cad é an ról atá ag sscanf rá go dtiocfadh leat a fháil chomh maith le carachtar anseo?
[Fhreagra mac léinn inaudible] >> A pointe deachúil d'fhéadfadh obair i ndáiríre.
A ligean ar a shealbhú gur shíl ar feadh nóiméad. Cad eile?
[Mac léinn] fhéadfadh sé a bheith NULLComment. >> Smaoinimh Chéasta. D'fhéadfadh sé a bheith ar an carachtar nialasach.
Níl sé i ndáiríre sa chás seo. Yeah. >> [Mac léinn] ASCII.
ASCII. Nó lig dom a ghinearálú níos faide.
Is é an c% go díreach do sheiceáil earráid.
Nílimid ag iarraidh go mbeadh carachtar tar éis an líon,
ach cad ceadaíonn sé seo dom a dhéanamh ar an méid seo a leanas.
Casadh sé amach go sscanf, seachas a stóráil luachanna i n agus c sa sampla seo anseo,
cad a dhéanann sé freisin go bhfuil tuairisceáin sé líon na n-athróg a chur luachanna isteach
Mar sin, má scríobhann tú ach amháin i 123, ansin níl ach an% d ag dul a mheaitseáil,
agus ní raibh ach faigheann n stóráil le luach cosúil le 123,
agus faigheann aon rud a chur i c.
Tá C luach truflais, mar a déarfá -
truflais mar ní tá sé curtha initialized do roinnt luach.
Mar sin, sa chás sin, tuairisceáin sscanf 1 mar gheall daonra mé 1 de na leideanna,
agus sa chás sin go hiontach, tá mé ina slánuimhir mar sin saor in aisce mé an líne saor in aisce le cuimhne
go GetString leithdháilte i ndáiríre, agus ansin mé ar ais n,
eile má wondered tú riamh nuair a Retry ráiteas a thagann ó, a thagann sé ó dheis anseo.
Mar sin, más rud é, ag gcodarsnacht leis, cineál mé i 123foo - ach roinnt ord randamach de téacs -
sscanf ag dul a fheiceáil uimhir, uimhir, uimhir, f,
agus tá sé ag dul a chur ar an 123 i n; tá sé ag dul a chur ar an f i c agus ansin 2 ar ais.
Mar sin, ní mór dúinn, ach ag baint úsáide as an sainmhíniú bunúsach iompair sscanf, ar bhealach an-simplí -
go maith, casta ar an gcéad amharc ach ag deireadh an lae mheicníocht simplí go leor -
a rá go bhfuil o agus má tá, is é sin an rud amháin a fuair mé?
Agus is é an spás bán anseo d'aon ghnó.
Má léann tú an doiciméadú sscanf, insíonn sé leat go bhfuil má tá tú píosa spás bán
ag tús nó deireadh, sscanf ligfidh freisin an t-úsáideoir, ar chúis ar bith,
a bhuail 123 barra spáis agus a bheidh dlisteanach.
Ní bheidh tú yell ag an úsáideoir díreach toisc go mbuaileann siad an barra spáis
ag tús nó deireadh, a bhfuil ach beagán níos so-úsáidte.
>> Ceisteanna ar bith ansin ar GetInt? Yeah. >> [Mac léinn] Cad a tharlaíonn má tú a chur díreach i Char?
Dea-gceist.
Cad a tharlaíonn má chlóscríobh tú díreach i Char mhaith f, agus brúigh Iontráil gan riamh ag clóscríobh 123?
Cad a cheapann tú a bheadh ​​ar an iompar na líne seo de chód a bheith ansin?
[Fhreagra mac léinn inaudible]
Yeah, ionas gur féidir sscanf sin a chumhdach freisin mar gheall sa chás sin, níl sé ag dul a líonadh n nó c.
Tá sé seo ag dul ar ais in ionad 0, agus sa chás sin tá mé ag teacht freisin go cás
toisc go bhfuil an luach ionchais mhaith liom 1.
Ba mhaith liom ach aon duine amháin agus gan ach rud amháin a bheidh le líonadh. Dea-gceist.
>> Daoine eile? Gach ceart.
>> Ní ligean ar dul tríd gach ceann de na feidhmeanna i anseo,
ach tá an ceann cosúil le bheith spéisiúla b'fhéidir fágtha GetString
mar gheall ar casadh sé amach go GetFloat, GetInt, GetDouble, GetLongLong
gach punt a lán de a gcuid feidhmeanna a GetString.
Mar sin a ligean ar ghlacadh le breathnú ar conas a bhfuil sé i bhfeidhm anseo.
Breathnaíonn sé seo ar cheann ar casta beag, ach úsáideann sé an bunúsacha céanna
gur thosaigh muid ag caint faoi an tseachtain seo caite.
I GetString, a thógann nach bhfuil aon argóint de réir an neamhní suas anseo
agus tuairisceáin sé ar shraith, mé cosúil mé á dhearbhú teaghrán a dtugtar maolán.
Níl a fhios agam i ndáiríre cad atá ag dul a úsáid le haghaidh fóill, ach beidh orainn a fheiceáil.
Breathnaíonn sé cosúil go bhfuil cumas de réir réamhshocraithe 0.
Ní leor cinnte nuair a tá sé seo nach bhfuil ag dul, cinnte cad é n ag dul a úsáid le haghaidh fóill,
ach anois tá sé ag fáil beagán níos suimiúla.
I gcomhréir 243, ní mór dúinn a dhearbhú ina slánuimhir, c.
Is é seo an saghas sonraí dúr.
Tá Char 8 giotán, agus is féidir 8 giotán a stóráil cé mhéad luachanna éagsúla? >> [Mac léinn] 256. >> 256.
Is é an fhadhb más mian leat a bheith 256 carachtar ASCII éagsúla, ina bhfuil
má cheapann tú ar ais - agus nach bhfuil an rud a chur de ghlanmheabhair.
Ach má cheapann tú ar ais go dtí chairt mór ASCII a bhí againn seachtain ó shin,
bhí sa chás sin 128 nó 256 carachtair ASCII.
Úsáid againn ar fad na patrúin suas 0s agus 1s.
Sin fadhb más mian leat a bheith in ann a bhrath earráid
mar má tá tú ag baint úsáide as cheana féin 256 luachanna do charachtair,
nach raibh tú plean i ndáiríre amach romhainn toisc go anois go bhfuil tú aon bhealach a rá,
nach bhfuil an carachtar legit, is é seo ar roinnt teachtaireacht mícheart.
Mar sin, cad a dhéanann an domhan siad úsáid as an luach eile is mó, rud éigin cosúil le slánuimhir,
ionas go mbeidh tú roinnt dÚsachtach de giotán, 32, le haghaidh 4 billiún luach fhéideartha
ionas gur féidir leat deireadh ach suas ag baint úsáide as go bunúsach 257 acu,
1 de a bhfuil cuid bhrí speisialta mar earráid.
>> Mar sin a ligean ar a fheiceáil conas a oibríonn seo.
I gcomhréir 246, tá mé an lúb agus mór go bhfuil glaoch fgetc,
f comhad bhrí, mar sin getc, agus ansin ionchur caighdeánach.
Casadh sé amach tá sé seo ach ar an mbealach níos cruinne a rá léigh na méarchlár.
Méarchlár ciallaíonn Standard ionchur, ciallaíonn aschur caighdeánach scáileán,
agus earráid chaighdeánach, agus beidh orainn a fheiceáil i pset4, ciallaíonn an scáileán
ach cuid ar leith den scáileán ionas nach bhfuil sé conflated leis an aschur iarbhír
raibh sé i gceist tú a phriontáil. Ach níos mó ar an sa todhchaí.
Mar sin, ciallaíonn fgetc ach léamh amháin a charachtar as an méarchlár agus é a stóráil i gcás?
Stóráil i c.
Agus seiceáil ansin - mar sin tá mé ag baint úsáide as ach roinnt conjunctions Boole anseo -
seiceáil nach ndéanann sé comhionann - \ n, mar sin tá an t-úsáideoir hit Enter, ba mhaith linn a stopadh ag an bpointe sin,
deireadh na lúibe - agus ba mhaith linn freisin a sheiceáil le haghaidh an difríocht idir na naisc speisialta tairiseach,
agus má tá a fhios agat nó buille faoi thuairim, cad a sheasann sé do? >> [Mac léinn] Deireadh comhaid. Deireadh >> comhaid.
Tá sé seo de chineál ar nonsensical mar má tá mé ag clóscríobh ag an méarchlár,
níl i ndáiríre níl aon chomhad baint acu leis an,
ach tá sé seo sórtáil ach an téarma cineálach a úsáidtear go gciallaíonn
go bhfuil aon rud eile ag teacht ó na daoine ar mhéara.
EO - críoch an chomhaid.
Mar leataobh, ní má tá tú bhuail riamh Rialú D ar do mhéarchlár, go mbeadh tú fós -
atá tú a bhuail Rialú C - Rialú D seolann an tairiseach speisialta ar a dtugtar EO.
Mar sin, anois ní mór dúinn ach cuid leithdháileadh cuimhne dinimiciúil.
>> Mar sin, más rud é (n + 1> toilleadh). Anois, beidh mé a mhíniú n.
N bhfuil ach cé mhéad bytes faoi láthair ar an Maolán,
an teaghrán go bhfuil tú ag tógáil faoi láthair suas as an t-úsáideoir.
Má tá tú carachtair níos mó i do Maolán ná mar a bhfuil tú cumas sa Maolán,
intuitively an méid is gá dúinn a dhéanamh ansin an toilleadh a leithdháileadh níos mó.
Mar sin, tá mé ag dul chun skim thar roinnt de na uimhríochtúil anseo agus díriú ach ar an bhfeidhm seo anseo.
Tá a fhios agat cad é malloc nó ar a laghad ar ginearálta.
Take a buille faoi thuairim cad a dhéanann realloc. >> [Mac léinn] Adds chuimhne.
Níl cur sé go leor cuimhne. Reallocates sé cuimhne mar seo a leanas.
Má tá spás ann i gcónaí ag deireadh an teaghrán a thabhairt duit níos mó de go bhfuil cuimhne
ná mar a thugann sé ar dtús leat, agus ansin beidh tú go bhfuil cuimhne breise.
Mar sin, is féidir leat a choimeád díreach a chur ar an teaghrán ar charachtair droim le droim le droim ar ais.
Ach más rud é nach é sin an cás mar gheall ar fhan tú ró-fhada
agus fuair rud éigin randamach plopped i gcuimhne go bhfuil
ach níl cuimhne breise síos anseo, tá go leor.
Realloc ag dul go léir a dhéanamh ar an troma a ardú ar do shon,
bogadh an teaghrán atá tú a léamh i go dtí seo ó anseo, é a chur síos ann,
agus a thabhairt ansin tú rúidbhealach roinnt níos mó ag an bpointe sin.
>> Mar sin, le tonn na láimhe, lig dom a rá go bhfuil an méid GetString a dhéanamh
Tá sé ag tosú sé le maolán beag, b'fhéidir amháin carachtar aonarach;
agus más rud é an t-úsáideoir cineálacha i dhá charachtair, chríochnaíonn GetString suas ghlaoch realloc agus deir
Ní raibh aon charachtar amháin go leor; thabhairt dom dhá charachtair.
Ansin, má léigh tú tríd an loighic na lúibe, tá sé ag dul a rá
an t-úsáideoir clóscríofa i 3 carachtair; thabhairt dom anois nach 2 ach 4 carachtair,
ansin a thabhairt dom 8, ansin a thabhairt dom 16 agus 32.
Ós rud é go bhfuil mé ag dúbailt an cumas gach uair
Ciallaíonn sé sin nach bhfuil an maolán ag dul ag fás go mall, tá sé ag dul chun fás go tapa Super.
Agus d'fhéadfadh a bheith cad é an buntáiste a bhaint as?
Cén fáth dúbailt mé an méid de na Maolán
cé go bhféadfadh an t-úsáideoir gá ach aon charachtar amháin breise ó na méarchlár?
Tá [fhreagra mac léinn inaudible] >> Cad é sin? >> [Mac léinn] Ní gá duit ag fás mar go minic.
Go díreach. Ní gá duit ag fás mar go minic.
Agus é seo ach de chineál ar go bhfuil tú ag fálaithe do geallta anseo,
an smaoineamh a bheith go bhfuil tú ag iarraidh a glaoch realloc a lán toisc go bíonn sé a bheith mall.
Aon uair a iarrann tú an córas oibriúcháin do chuimhne,
mar beidh tú a fheiceáil go luath i sraith fhadhb amach anseo, bíonn sé a chur roinnt ama.
Mar sin, a íoslaghdú an méid sin ama, fiú má tá tú ag wasting roinnt spáis,
claonadh a bheith ina rud maith.
>> Ach má léigh muid tríd an chuid deiridh de GetString anseo -
agus nach bhfuil arís a thuiscint gach líne aonair anseo chomh tábhachtach lá atá inniu ann -
faoi ​​deara go iarrann sé ar deireadh thiar malloc arís
agus leithdháileann sé go díreach mar bytes go leor mar ní mór é le haghaidh an teaghrán
agus caitheann ansin ar shiúl trí ghlaoch ar saor in aisce leis an maolán excessively mór
má fuair dhó sé go deimhin, uair an iomarca.
Mar sin, i mbeagán focal, tá go conas a GetString ag obair ar fad an am seo.
Gach tá sé ní léamh amháin carachtar ag an am arís agus arís agus arís eile,
agus gach uair riachtanais sé roinnt cuimhne breise, Iarrann sé ar an córas oibriúcháin chun é
trí ghlaoch realloc.
>> Ceisteanna ar bith? Gach ceart.
>> An ionsaí.
Anois go bhfuil muid leideanna a thuiscint nó ar a laghad ag éirí níos eolach ar threo,
a ligean ar a mheas conas a thosaíonn an domhan ar fad le titim
más rud é nach bhfuil tú a chosaint go leor i gcoinne úsáideoirí sáraíochta,
daoine atá ag iarraidh a hack isteach i do chóras,
daoine atá ag iarraidh a steal do bhogearraí ag teacht timpeall ar roinnt cód clárúcháin
go bhféadfadh siad a bheith ar shlí eile a chlóscríobh isteach
>> Féach ar an sampla anseo, a bhfuil ach C cód go bhfuil phríomhfheidhm ag bun
go bhfuil gá feidhm foo. Agus cad a rith sé le foo?
[Mac léinn] Tá argóint amháin. >> [MALAN] argóint amháin.
Mar sin, argv [1], rud a chiallaíonn an focal sin den chéad uair an t-úsáideoir clóscríofa ag an líne orduithe
tar éis a.out nó is cuma cad é an clár ar a dtugtar.
Mar sin, a thógann foo ag barr i * Char. Ach tá * Char ach cad é? >> [Mac léinn] A teaghrán.
[MALAN] A teaghrán, agus mar sin níl aon rud nua anseo.
Sin teaghrán á dtugtar treallach bar.
Sa líne seo anseo, ruabhric c [12]; in saghas leath-theicniúil Béarla, cad an líne seo a dhéanamh?
[Mac léinn] An sraith de - Eagar >> de? >> [Mac léinn] Carachtair. Carachtair >>.
Tabhair dom le sraith de 12 carachtair. Mar sin, d'fhéadfadh muid a glaoch ar an maolán.
Sé ar a dtugtar go teicniúil c, ach maolán i gcláir ciallaíonn ach a bunch de spás
gur féidir leat a chur ar roinnt rudaí isteach
Ansin ar deireadh, memcpy ní againn a úsáidtear roimh, ach is féidir leat buille faoi thuairim is dócha cad a dhéanann sé.
Cóipeanna sé cuimhne. Cad a dhéanann sé?
Cóipeanna sé cosúil barra, a ionchur, i c ach amháin suas go dtí an fad bar.
Ach tá a bug anseo. >> [Mac léinn] Ní mór duit an carachtar Is uimhir. >> Maith go leor.
Go teicniúil, ba chóir dúinn a dhéanamh i ndáiríre strlen (barra) * Is uimhir (Char)). Sin ceart.
Ach i gcás is measa anseo, a ligean ar glacadh leis go bhfuil that's -
Maith go leor. Ansin, níl dhá bugs.
Mar sin, is féidir MÉID a (ruabhric));
Déanaimis seo beagán níos leithne.
Mar sin, anois tá deis ann fós a bug, a bhfuil cad é? >> [Fhreagra mac léinn inaudible]
Seiceáil do cad é? >> [Mac léinn] Seiceáil le haghaidh NULLComment.
Ba chóir dúinn go ginearálta ag seiceáil le haghaidh NULLComment mar gheall ar a tharlóidh rudaí olc
nuair a bhfuil do pointeoir NULLComment mar a d'fhéadfadh tú suas go deireadh ag dul ann,
agus ní ba chóir duit riamh a bheith ag dul chun nialasach ag dereferencing sé leis an oibreoir réalta.
Mar sin, tá go maith. Agus cad eile atá á dhéanamh againn? Logically, níl locht anseo freisin.
[Mac léinn] Seiceáil más é argc> = dtí 2.
Mar sin, seiceáil má tá argc> = 2. Maith go leor, mar sin níl trí bugs sa chlár anseo.
Táimid ag seiceáil anois má tá an t-úsáideoir clóscríofa i ndáiríre i rud ar bith i argv [1]. Dea-.
Mar sin, cad an fabht tríú? Yeah. >> [Mac léinn] C d'fhéadfadh a bheith mór go leor.
Dea-. Sheiceáil Táimid ar cheann scéal.
Sheiceáil muid go hintuigthe é a chóipeáil cuimhne níos mó ná mar a bheadh ​​níos mó ná an fad bar.
Mar sin, má tá an teaghrán é an t-úsáideoir clóscríofa i 10 carachtair ar fad,
tá sé seo ag rá ach a chóipeáil 10 carachtair. Agus sin ceart go leor.
Ach cad más rud é an t-úsáideoir clóscríofa i bhfocal ag an pras cosúil le focal 20-charachtar?
Tá sé seo ag rá cóip 20 carachtair ó barra ar cad?
C, ar shlí eile ar a dtugtar mar ár Maolán, rud a chiallaíonn scríobh tú díreach sonraí
go dtí 8 láithreacha beart nach bhfuil tú féin,
agus nach bhfuil tú féin iad sa chiall nach bhfuil leithdháilte tú iad.
Mar sin, is é seo cad atá ar a dtugtar de ghnáth mar an ionsaí thar maoil maolán nó ionsaí róchaiteachas maolán.
Agus tá sé ionsaí sa chiall go más rud é an t-úsáideoir nó an clár a tá ag iarraidh do fheidhm
D'fhéadfaí é seo a dhéanamh go mailíseach, cad a tharlaíonn go hiarbhír eile a bheith i ndáiríre go leor dona.
>> Mar sin a ligean ar ghlacadh le breathnú ar an bpictiúr seo anseo.
Léiríonn an pictiúr ar do Stack de chuimhne.
Glaoch ar ais go bhfaigheann gach uair a ghlaonn tú ar fheidhm tú an fráma beag ar an chruach
agus ansin, bealach eile agus ansin, bealach eile agus eile.
Agus go dtí seo, tá muid díreach de chineál ar achomaireacht seo mar Dronuilleoga
ceachtar ar an chlár nó ar an scáileán anseo.
Ach má táimid súmáil isteach ar cheann de na dronuilleoga, nuair a ghlaonn tú ar foo feidhm,
casadh sé amach go bhfuil níos mó ar an taobh istigh Stack de sin fráma sa dronuilleog
ná díreach x agus y agus a agus b, cosúil le raibh muid ag caint faoi babhtála.
Casadh sé amach go níl roinnt sonraí níos ísle-leibhéal, ina measc Seoladh Fillte.
Mar sin, casadh sé amach nuair a iarrann mó foo, tá príomh-eolas foo
cad é seoladh an phríomhchonraitheora i an ríomhaire a chuimhne
mar gheall ar shlí eile, go bhfuil a luaithe is foo dhéanamh forghníomhaitheach, mar sa chás seo anseo,
nuair a tá tú teacht ar an brace dúnta chatach ag deireadh na foo,
conas a dhéanann an heck foo a fhios ina bhfuil an rialú an chláir ceaptha chun dul?
Casadh sé amach go bhfuil an freagra ar an cheist seo dronuilleog dearg anseo.
Léiríonn sé seo pointeoir, agus tá sé suas go dtí an ríomhaire a stóráil go sealadach
ar an chruach mar a thugtar air go bhfuil an seoladh is mó ionas go mbeidh luaithe is foo dhéanamh forghníomhaitheach,
fhios ag an ríomhaire áit agus cén líne is mó dul ar ais chuig.
Baineann pointeoir Fráma Sábháilte céanna leis seo.
Léiríonn bar * Char anseo cad?
Anois tá an teascán gorm anseo fráma foo ar. Cad é bar?
Barra bhfuil ach an argóint leis an fheidhm foo.
Mar sin anois táimid ar ais ar saghas an pictiúr ar an eolas.
Níl rudaí níos mó agus níos mó distractions ar an scáileán,
ach tá an teascán gorm éadrom go díreach cad tá muid ag tarraingt ar an gclár dubh
chun rud éigin cosúil le babhtáil. Is é sin an fráma foo.
Agus an rud amháin i sé go bhfuil ceart anois barra, a bhfuil an paraiméadar seo.
Ach ba cheart cad eile a bheith i an chairn de réir an cód anseo?
[Mac léinn] Char c [12]. >> [MALAN] Char c [12].
Ba chóir dúinn féach freisin 12 cearnóga de chuimhne a leithdháiltear ar athróg ar a dtugtar c,
agus go deimhin is féidir linn a bheith go bhfuil ar an scáileán.
Tá an barr an-go bhfuil c [0], agus ansin an t-údar an léaráid seo
ní raibh bac tarraingt gach ceann de na cearnóga, ach tá go deimhin, 12 go
mar má fhéachann tú ar an ceart ag bun, c [11] má tá tú ag comhaireamh ó 0 go bhfuil an beart 12ú den sórt sin.
Ach anseo an fhadhb.
Cén treo a bhfuil c ag fás?
Sórtáil de bharr anuas má thosaíonn sé ag an mbarr agus fásann go dtí an bun.
Ní chuireann sé cuma mhaith d'fhág muid féin rúidbhealach i bhfad anseo ar chor ar bith.
Táimid tar éis cineál péinteáilte féin isteach i gcúinne,
agus go c [11] Is ceart suas i gcoinne barra, a bhfuil ceart suas in aghaidh pointeoir Fráma Sábháilte,
a bhfuil an ceart suas in aghaidh Seoladh Fillte. Níl aon seomra níos mó.
Mar sin, cad é an impleacht sin má tá tú scriú suas
agus iarracht a dhéanamh tú ag léamh 20 bytes comhad ionsáite i maolán 12-beart?
I gcás ina mbeidh na 8 bytes breise ag dul chun dul? >> [Mac léinn] Inside -
Inside gach rud eile, tá cuid acu Super tábhachtach.
Agus an rud is tábhachtaí, d'fhéadfadh a bheith, tá an bosca dearg ann, Seoladh Fillte,
mar gheall ar dócha go bhfuil tú ceachtar de thaisme nó adversarially scríobh na 4 bytes,
an seoladh sin pointeoir, ní hamháin le truflais ach le roinnt
a tharlaíonn go dtabharfaí léiriú ar seoladh iarbhír i gcuimhne.
Cad é an impleacht, go loighciúil? >> [Mac léinn] Feidhm ag dul ar ais go dtí áit eile.
Go díreach.
Nuair a tuairisceáin foo agus amas go brace curly, tá an clár ag dul ar aghaidh
gan filleadh ar mó, tá sé ag dul ar ais go dtí cibé sheoladh sa bhosca dearg.
>> I gcás clárúcháin bogearraí timpeall,
cad má tá an seoladh sin tá ar ais chuig an fheidhm go bhfaigheann ghnáth ar a dtugtar
atá tar éis duit íoc as na bogearraí agus ionchur do chód clárúcháin?
Is féidir leat a shórtáil de trick an ríomhaire i nach bhfuil ag dul anseo ach ina ionad sin ag dul suas anseo.
Nó má tá tú i ndáiríre cliste, is féidir le adversary cineál iarbhír i ag an méarchlár, mar shampla,
Ní focal iarbhír, ní 20 carachtair, ach is dócha sé nó sí cineálacha iarbhír i
roinnt carachtair a léiríonn cód.
Agus nach bhfuil sé ag dul a bheith C cód, tá sé ag dul iarbhír a bheith ar na carachtair
a léiríonn cód meaisín dénártha, 0s agus 1s.
Ach is dócha go bhfuil siad cliste go leor chun é sin a dhéanamh,
a ghreamú ar bhealach isteach an rud GetString pras go bhfuil cód bunúsach le chéile,
agus an 4 deireanach bytes scríobh an seoladh sin ar ais.
Agus cad seoladh é sin a dhéanamh ionchur?
Siopaí sé i ndáiríre i seo dronuilleog dearg seoladh an chéad bheart an mhaoláin.
Mar sin, caithfidh tú a bheith i ndáiríre cliste, agus tá sé seo a lán de na trialach agus earráide do dhaoine olc amach ann,
ach más féidir leat an figiúr amach conas mór é seo maolán
den sórt sin a chur ar fáil na bearta anuas san ionchur leat chun an clár
tharlaíonn a bheith coibhéiseach leis an seoladh thús do Maolán, is féidir leat é seo a dhéanamh.
Má deirimid de ghnáth Dia duit agus \ 0, go bhfuil an méid thagann suas i an maolán.
Ach má tá muid níos cliste agus a líonadh go maolán le cad beidh muid ag glaoch cineálach cód ionsaí -
AAA, ionsaí, ionsaí, ionsaí - má tá sé seo ach rud go ndéanann rud éigin dona,
cad a tharlaíonn má tá tú i ndáiríre cliste, go dtiocfadh leat é seo a dhéanamh.
Sa bhosca dearg anseo tá sraith de uimhreacha - 80, C0, 35, 08.
Fógra a oireann go bhfuil an líon sin suas anseo.
Tá sé in ord droim ar ais, ach níos mó ar an am go bhfuil roinnt eile.
Fógra go bhfuil an seoladh fillte athraíodh d'aon ghnó
comhionann leis an seoladh suas anseo, nach bhfuil an seoladh is mó.
Mar sin, má tá an Guy olc Super cliste, tá sé nó sí ag dul a chur san áireamh sa chód ionsaí
rud éigin cosúil le scriosadh gach ceann de na úsáideora comhad nó an focal faire a chóipeáil
nó a chruthú cuntas úsáideora gur féidir liom logáil isteach ansin isteach - rud ar bith ar chor ar bith.
>> Agus is é seo idir an baol agus an chumhacht de C.
Toisc go bhfuil tú rochtain ar chuimhne trí leideanna
agus is féidir leat scríobh dá bhrí sin, aon rud is mian leat isteach i ríomhaire a chuimhne,
féidir leat a dhéanamh ar ríomhaire aon rud is mian leat
ach ag tar éis é a léim thart laistigh dá spás chuimhne féin.
Agus mar sin go dtí an lá cláir an oiread sin agus láithreáin ghréasáin an oiread sin i gcontúirt
boil síos go dtí daoine ag cur buntáiste a bhaint as seo.
Agus d'fhéadfadh sé seo cosúil mhaith ionsaí Super sofaisticiúla, ach ní chuireann sé tús go bhealach i gcónaí.
Is é an réaltacht go bhfuil an méid a bheidh daoine olc a dhéanamh de ghnáth,
bíodh sé ina gclár i láthair ag líne ordaithe nó clár GUI nó ar an suíomh gréasáin,
dtosaíonn tú díreach a sholáthar nonsense.
Scríobhann tú i bhfocal gur mór i réimse cuardaigh agus bhuail isteach,
agus tú ag fanacht a fheiceáil má dheasca an láithreán gréasáin
nó tú ag fanacht a fheiceáil má manifests an clár roinnt teachtaireacht earráide
mar má fhaigheann tú t-ádh mar an Guy olc agus ar fáil duit roinnt ionchur dÚsachtach
go dheasca an chláir, go gciallaíonn nach raibh an Ríomhchláraitheoir réamh-mheas do droch-iompar,
rud a chiallaíonn is féidir leat is dócha leis an iarracht go leor, go leor triail agus earráid,
figiúr amach conas a pá ionsaí níos cruinne.
Ní Mar sin, an oiread agus a chuid na slándála a sheachaint ach na n-ionsaithe ar fad
ach a bhrath iad agus ar ndóigh, ag féachaint ar logs
agus ag féachaint cad tá ionchur dÚsachtach daoine clóscríofa i do láithreán gréasáin,
cad iad na téarmaí cuardaigh daoine clóscríofa i do láithreán gréasáin
i súil cur thar maoil maolán éigin.
Agus seo go léir boils síos go dtí an Basics simplí ar cad eagar
agus cad a chiallaíonn sé a leithroinnt agus a úsáid chuimhne.
>> A bhaineann leis an ansin ró-seo.
A ligean ar Sracfhéachaint díreach taobh istigh de thiomáint crua fós arís.
Leat glaoch ar ais ó na seachtaine nó dhó ó shin go bhfuil tú nuair comhaid a tharraingt chun gur féidir do athchúrsáil bruscair nó bruscar,
cad a tharlaíonn? >> [Mac léinn] Ní dhéanfaidh aon ní. >> Rud Cinnte, ceart?
Faoi dheireadh má ritheann tú íseal ar spás diosca,
Beidh Windows nó Mac OS tús a scriosadh comhaid ar do shon.
Ach má tá tú tharraingt rud éigin ann, nach bhfuil ag gach sábháilte.
Gach bhfuil do roommate nó cara nó ball teaghlaigh le déanamh ach cliceáil dúbailte agus, voila,
níl na comhaid go léir sketchy go ndearna tú iarracht a scriosadh.
An chuid is mó de dúinn ar a laghad a fhios agat go bhfuil tú a cliceáil ar dheis nó cliceáil Rialú
agus folamh an bruscar nó rud éigin mar sin.
Ach fiú ansin nach bhfuil go leor ar an trick
mar gheall ar cad a tharlaíonn nuair a bhfuil tú comhad ar do thiomáint crua
gur ionann roinnt doiciméad Word nó cuid JPEG, agus is ionann do thiomáint crua,
agus a rá a ligean ar léiríonn sé seo sliver anseo go comhad,
agus tá sé comhdhéanta de bunch iomlán de 0s agus 1s.
Cad a tharlaíonn nuair nach bhfuil tú ag tarraing ach go comhad chuig an bruscar is féidir nó a athchúrsáil bruscair
ach folamh freisin é? Sórtáil de rud ar bith.
Níl sé fíor aon rud anois.
Anois, tá sé ach aon rud mar gheall ar a tharlaíonn rud beag i bhfoirm tábla seo.
Mar sin, tá roinnt de chineál bunachar sonraí nó tábla taobh istigh de ríomhaire a chuimhne
go bhfuil go bunúsach aon cholún amháin chun comhaid 'ainmneacha agus aon cholún amháin do chomhaid' suíomh,
nuair a d'fhéadfadh a bheith an suíomh seo 123, ach uimhir randamach.
Mar sin, d'fhéadfadh muid a bheith rud éigin cosúil le x.jpeg agus suíomh 123.
Cad a tharlaíonn ansin nuair a fholmhú tú i ndáiríre do bhruscar?
A théann ar shiúl.
Ach cad é, ní théann amach an 0s agus 1s.
>> Mar sin, cad ansin an nasc pset4?
Bhuel, le pset4, díreach mar atá againn scriosadh thaisme an cárta flash dlúth
Bhí truaillithe go raibh gach ceann de na grianghraif nó díreach toisc go bhfuil sé ag ádh
ní chiallaíonn nach bhfuil na 0s agus 1s fós ann.
B'fhéidir cúpla ceann acu a cailleadh mar gheall ar a fuair truaillithe rud éigin
sa mhéid go raibh roinnt 0s agus 1s 1s bhí 0s.
Is féidir rudaí a tharlóidh dona mar gheall ar na bogearraí Buggy nó lochtach crua-earraí.
Ach go leor de na píosaí, b'fhéidir fiú 100% de na iad, tá fós ann.
Tá sé sin go díreach nach bhfuil an ríomhaire nó an ceamara a fhios nuair a thosaigh JPEG1
agus nuair a thosaigh JPEG2.
Ach má tá tú, an Ríomhchláraitheoir, tá a fhios le beagán de savvy chás go bhfuil na jpeg
nó an chuma atá orthu ionas gur féidir leat anailís a dhéanamh ar JPEG 0s agus 1s agus a rá, JPEG,
is féidir leat scríobh le clár le go bunúsach ach ar son nó cé lúb
go recovers gach ceann de na comhaid sin.
Is é sin an ceacht ansin chun tús a chur go daingean erasing do chuid comhad
más mhaith leat a sheachaint seo ar fad. Tá.
>> [Mac léinn] Conas teacht deir sé ar do ríomhaire
go bhfuil tú cuimhne níos mó ná mar a rinne tú roimhe seo?
An bhfuil cuimhne níos mó ná mar a rinne tú roimh - >> [mac léinn] cuimhne níos mó ar fáil.
Oh. Dea-gceist.
Mar sin, cén fáth nach ansin tar éis fholmhú an bruscar do ríomhaire a insint duit
go bhfuil tú níos mó spás saor in aisce ná mar a rinne tú roimhe seo?
In a nutshell, mar tá luí air.
Níos teicniúil, an bhfuil tú go bhfuil níos mó spáis mar anois a dúirt tú
Is féidir leat a chur rudaí eile ina raibh an comhad aon uair amháin.
Ach ní chiallaíonn go na píosaí ag dul ar shiúl,
agus ní chiallaíonn an giotán á n-athrú le gach 0s, mar shampla,
do do chosaint.
Mar sin, ag gcodarsnacht leis sin, má tá tú scriosadh daingean comhad nó go fisiciúil an gléas a scriosadh,
is é sin i ndáiríre an t-aon bhealach uaireanta timpeall sin.
>> Mar sin, cén fáth nach bhfuil muid ag fhágáil ar an nóta leath-scary, agus feicfidh tú muid ar an Luan.
[Bualadh bos]
>> [CS50.TV]