>> [Мусиц плаиинг]
>> Даг Ллоид: У реду, хајде да говоримо о аргумената командне линије.
Дакле, до сада у току прилично много све своје програме
вероватно почела као ово-маин празнину.
Ми смо прикупљања корисник улаз ако нам затреба
у нашим програмима, као што су Марио програм, на пример,
од ин-програму упита.
Нису потребни смо да модификује декларација главни,
јер уместо унутар главни ве само да кажем, можете га позвати да се инт.
Колика желиш пирамида бити?
Или можете га зову да флоат-- Колико промена
бих излаз на корисника?
>> Постоји још један пут, иако, и ако желимо нашим корисницима
да би могли да пруже података у нашем програму
у току рада уместо време програм ради,
суптилна разлика, али понекад веома користан један,
нам је потребан нови облик прогласи главни.
Ми не можемо да користимо инт маин празнину ако желимо да прикупља друге податке у командну линију
када корисник покрене програм, стога командне линије аргументи.
>> За прикупљање ове командне линије аргументи од корисника,
промените декларацију Главни изгледати као ово-инт
Главни, отворени парен, инт аргц, зарез, стринг аргв, угластим заградама,
а затим отворите коврџаву браце.
Дакле, шта то значи већ?
Па, ми пролазимо у два параметра, или аргументи, или улази на главни.
Оне, цео број назван аргц, а други је шта?
То је низ жице, зар не?
Видимо да квадрат носач нотација.
То је низ низова.
То није појединац стринг то је низ низова.
И ова два аргумента, аргц и аргв, омогућити да знате шта података корисника
пружио на командне линије и колико ствари које
под условом у командној линији.
Прилично корисне ствари за рад.
>> Аргц залаже за аргумент тачку, и требало би да знате, узгред буди речено,
да зовете аргц год ви то желите.
Можете позвати аргв год сте желели.
Ово су само обични имена које користимо за њих-- аргумент тачку,
и као што ћемо видети у секунди, Аргумент вектор, аргв.
Али ви не морате да их зовете аргц и аргв ако не желите да,
али конвенционално, то је оно што ми радимо.
>> У сваком случају, аргц, аргумент датотека.
То је цео број типа променљива и тако, као можете очекивати, ако имамо две ствари
да ћемо бити у проналажењу шта они куцају
и колико ствари корисник откуца, аргц је
ће нам рећи колико напунити корисника откуцали.
Тако да вам даје број командне линије аргументи корисника
откуцана када је погубљен програм.
Дакле, ако ваш програм рун тачка сласх похлепан,
и унутар ваше похлепни програмирати основну функцију
има декларација инт маин инт аргц, стринг аргв квадратних заграда, а затим
аргц у том случају је једна.
Сада обратите пажњу да не избројати колико ствари
корисник откуца после назива програма.
Сам назив програма рачуна као командне линије аргумента.
>> Тако дот сласх похлепан, у тај случај, аргц је један.
Ако корисник откуца сласх похлепна 1024 ЦС50 на командне линије, аргц у том случају
ће бити три.
А знамо јер начин да је подела између жице
се детектује да ли је постоји простор, или картицу,
или тако нешто између њих.
Дакле, било који износ од белог простора, такозвани, између вредности откуцао командне линије
указује колико их има.
Тако дот сласх похлепни размака 1024 простор ЦС50, аргц, у том случају, је три.
>> Аргв је аргумент вектор.
Вектор, успут, само друга реч за низ,
и то је низ да чува жице.
Један стринг пер елемента, што је жице да корисник стварно
откуцана на командне линије када је погубљен програм.
Дакле, као што је случај са било којим низом, ако вас
сећам из нашег разговора о низови, први елемент аргв
увек ће се наћи у аргв квадратном брацкет нула.
То је први индекс од аргв низа.
Тако да вилл-- и, у ствари, то ће увек буде име програма,
ће увек бити налази на аргв квадрат носач нула.
>> Последњи елемент аргв се увек наћи у аргв угластим заградама аргц минус један.
Видите ли зашто?
Сећаш се како многе елементе постоје у овом низу.
Па, знамо да је то-- аргц број елемената.
Ако корисник откуца три ствари у командна линија, аргц је три.
Али пошто у ц, када радимо са низовима, сваки елемент низа,
или боље речено индекси Низ, почети од нуле.
Ако имамо три елемента у нашој Арраи, имамо елемент на аргв нула,
елемент у аргв једном, и један елемент на аргв два.
Не постоји елеменат у аргв три, као и низ величине три.
Зато је последњи елемент аргв може увек
може наћи на аргв тргу заграде аргц минус један.
>> Дакле, хајде да преузме корисника извршава похлепни програм као фолловс--
ако откуцате у командне линије дот сласх похлепна простор 1024 простор ЦС50,
и из било ког разлога имамо већ припремила нашу похлепна програм
да знају и раде са њима командне линије аргументи.
Нисмо раније када смо радили на њему за похлепних проблем,
али рецимо сада смо модификовани тако да радимо процес
аргументи командне линије на неки начин.
У овом случају, аргв нула је тачка Сласх похлепан.
Шта је аргв један?
Па, то је 1024, зар не?
То је 1024, али ево заиста важно дистинцтион--
Да ли се сећате тип података аргв?
>> Она чува везе, зар не?
Али изгледа да 1024 је цео број вредност.
Ово је стварно важно разлика, и заправо
постати нешто што вас могу појавити у каснијим проблемима.
Све у аргв је чувати као стринг.
Дакле, аргв нечије садржај је стринг један, нула, два, четири,
који се састоји од та четири карактера.
То је као кад корисник откуца један, нула, два, четири
као појединачне слова или знакова.
То није цео број 1024, па не можете директно
радити с њим говорећи инт 1,000, или а инт једнако аргв један минус 24.
>> Интуитивно, можда мислите о томе као, у реду, али то је 1.024 минус 24,
тако да је к једнако 1.000.
Али, у ствари, то није случај, јер аргв један је стринг.
Низ 1024.
Сада постоји функција која може бити се користи за претварање жице на целе бројеве.
Нећу га покварити за вас сада, али сам сигуран Замила
Биће нам задовољство да вам кажем о томе проход за будућу проблем.
Али можете наћи Проблеми као-- изговор
ја, функције које би ово у вези 50,
ако идете на приручника можете наћи функцију која
учиниће ову конверзију за вас.
Али опет, у описом за будућу проблем,
Замила ће бити срећни да Знаш шта функција
је да ће претворити стринг 1024 до 1024 цео број.
>> У реду, тако идемо даље.
Ми смо покривени нашу аргв нула, смо покривени аргв један.
Шта је у аргв два?
ЦС50.
То је вероватно један лепа сама по себи.
Шта је у аргв три?
Па опет, ми не знамо, зар не?
Имамо низ величине три, тако многи елементи корисник
откуцана на командне линије, па ако идемо у аргв три,
ми сада прекорачење граница наше низа.
Преводилац ће да нам уради, нема интуитивно проблем са њим,
али у смислу заиста шта се дешава да се деси, ми не знамо.
То зависи од тога шта је налази на меморију у којој
аргв три бити очекује да буду.
И тако смо могли завршити бежи ослобођен пореза.
Чешће него не, посебно када радите са аргв насупрот
са било којим другим арраи То је у нашем програму,
вероватно ћемо патити Сегментатион фаулт. Дакле, опет,
бити сигурни да се не прекорачи границе ваших низова, посебно аргв,
имајући у виду њен висок степен Значај у својим програмима.
>> Ја сам Доуг Лојд.
Ово је ЦС50.