Пронађите величину низа Ц ++

Find Array Size C



Низ је контејнер са елементима истог типа података. Ако не знамо стварну величину низа, то се може одредити различитим методама. Када говоримо о величини низа, заправо говоримо о броју елемената присутних у низу. Понекад дефинишемо величину низа, а понекад заграде остају празне. Ово је привидна величина која само показује капацитет низа да складишти вредност у њему. На пример, размотрите пример декларације низа

Инт арраи[] = {1,2,3,4,5,6}

Овде је величина низа или дужина низа 6. А укупна величина низа коју треба доделити није приказана. Стварна величина се добија применом различитих операција. Ове операције се користе у овом чланку за добијање величине низа.







Пример 1

У овој илустрацији користићемо концепт бегин () и енд (). Помоћу ове методе лако се може сазнати величина низа. Ово су две библиотеке које су познате по стандардним библиотекама. Ове две функције враћају итераторе који приказују прелиминарне и завршне тачке низа. Полазећи од заглавља, користимо библиотеку низа. Ово ће укључивати све функције повезане са низом. У главној функцији покренули смо низ који има целобројне вредности.



Цост<<……….<<крај(до)-бегиб(до)<<

Овде нисмо поменули величину низа. У исказу приказа након цоут -а имамо функције енд () и бегин (). Различитост ове две функције показаће нам величину низа. У параметрима ових функција смо проследили низ. На овај начин ће се утврдити стварна величина. Добијена вредност ових функција се директно приказује.







Сада идемо према излазу. Требало би да ове програме извршавамо у Линук -у, па нам је потребно укључивање Убунту терминала. Како користимо Ц ++ код, морамо га компајлирати преко компајлера. То је Г ++ компајлер. Након састављања кода, извршићемо га. Команде испод показују излазни приступ који смо користили.

$ г++ -о код2 код2.ц

$./цоде2



Сада можете видети излаз. Још један сличан пример у случају стд је функција удаљености. На овој удаљености израчунава се помоћу функција бегин () и енд (). Ово се довршава употребом ових функција са стд.

Инт н=сати:: удаљеност(сати::започети(арр),сати::крај(арр));

Излаз се добија у цоут наредби. Да бисте видели запис, поново користите компајлер да бисте извршили код.

Овде можете видети да се добија жељени резултат.

Пример 2

Овај пример се односи на употребу функције сизеоф () у коду Ц ++, јер ова вредност враћа стварну величину података у облику бајтова. Штавише, бави се и враћањем броја бајтова који се користе за складиштење низа. Другим речима, У овом примеру, први корак је иницијализација низа без декларисања величине низа. синтакса која се користи за функцију сизеоф () је:

Инт ал= величина(арр)/величина(арр[0]);

Где је арр низ. арр [0] приказује индекс елемената у низу.

Дакле, ова изјава имплицира да се величина низа дели са величином свих присутних елемената, један по један. Ово помаже у израчунавању дужине. Користили смо целобројну променљиву за примање и складиштење враћања вредности из функције.

Овде ћемо добити излаз из командне линије истим методом превођења-компајлирања.

Излаз приказује величину низа, што имплицира број елемената присутних у њему, што је 6.

Пример 3

Овај пример укључује употребу функције сизе (). Ова функција је смештена у стандардну библиотеку, СТЛ. Почетни корак у главном програму је декларација низа. Овде име низа такође садржи величину и целобројну вредност. Ова метода такође враћа резултат директно у излазном исказу.

Цост<<….<<арр.величина()<<

Тамо где је „арр“ низ, да бисмо дохватили резултат или приступили функцији, потребно нам је име низа са функцијом величине.

За приказ резултата користимо г ++ компајлер за компајлирање и извршавање резултата.

Из излаза можете видети да је резултат наш жељени који приказује стварну величину низа.

Пример 4

Величина низа се такође може добити коришћењем показивача јер показивачи чувају адресу/локацију вредности променљиве. Сада размотрите следећи пример.

Почетни корак је иницијализација низа као и обично. Тада показивач ради за величину низа.

Инт лен= *(&арраи+ 1)- низ;

Ово је основна изјава која ради као показивач. * се користи за лоцирање положаја било ког елемента у низу, док се оператор & користи за добијање вредности локације добијене помоћу показивача. Ово је начин на који добијамо величину низа из показивача. Резултат се приказује кроз терминал. Одговор је исти. Како је величина поменутог низа наведена као 13.

Пример 5

У овом примеру користили смо идеју одбитка аргумента шаблона. Аргумент предлошка је параметар посебне врсте. Користи се за прослеђивање аргумента било које врсте, баш као и регуларне функције које се могу проследити као аргумент.

Када се низ проследи као параметар, он се претвара у показивач да прикаже адресу. Да бисмо добили дужину одређеног низа, користимо овај приступ одбитка аргумента предлошка. Стд је кратка форма стандарда.

С обзиром на дати пример, увели смо класу шаблона која се користи за добијање величине низа. То је подразумевана уграђена класа која садржи све функционалности аргумената предлошка.

Цонстекпр стд: : сизе_твеличина(цонстТ(&арраи)[Н])ноекцепт{

повратакН;

}

Ово је стална линија у овом концепту. Излаз се добија директно у цоут наредби.

Из излаза можете видети да смо добили жељени излаз: величину низа.

Пример 6

Користимо стд :: вецтор за добијање величине низа у програму. Ово је врста контејнера; његова функција је складиштење динамичких низова. Ради са различитим методама за различите операције. Да бисмо испунили овај пример, користили смо векторску библиотеку која укључује све векторске функције у њој. Такође декларише цин, цоут, ендл и вецтор изразе који ће се користити у програму. Низ се прво покреће у програму. Излаз је приказан у цоут наредби према величини вектора.

Цост<<векторска величина: <<инт_арраи.величина() <<ендл;

Сада ћемо видети излаз са Убунту терминала. Величина низа је тачна за елементе присутне у њему.

Закључак

У овом водичу смо користили другачији приступ за добијање дужине или величине низа. Неке су уграђене функције, док се друге користе ручно.