Намерете размер на масива C ++

Find Array Size C



Масивът е контейнер, съдържащ елементи от същия тип данни. Ако не знаем действителния размер на масива, той може да бъде определен по различни методи. Когато говорим за размера на масив, всъщност говорим за броя на елементите, присъстващи в масива. Понякога дефинираме размера на масива, а понякога скобите остават празни. Това е привиден размер, който показва само капацитета на масив да съхранява стойност в него. Например, помислете за примерна декларация на масив

Int масив[] = {1,2,3,4,5,6}

Тук размерът на масив или дължината на масив е 6. А общият размер на масива, който трябва да бъде присвоен, не се показва. Действителният размер се получава чрез прилагане на различни операции. Тези операции се използват в тази статия за получаване на размера на масив.







Пример 1

В тази илюстрация ще използваме концепцията start () и end (). Чрез този метод размерът на масива може да бъде известен лесно. Това са две библиотеки, които са известни със стандартните библиотеки. Тези две функции връщат итераторите, които показват предварителните и крайните точки на масива. Като започнем от заглавката, използваме библиотека с масиви. Това ще включва всички функции, свързани с масива. В основната функция инициирахме масив с цели числа.



Разходи<<……….<<край(да се)-begib(да се)<<

Тук не сме споменали размера на масива. В израза на дисплея след cout имаме функции end () и begin (). Разликата между тези две функции ще ни покаже размера на масив. В параметрите на тези функции сме предали масива. По този начин ще се определи действителният размер. Получената стойност от тези функции се показва директно.







Сега се придвижваме към изхода. Ние трябва да изпълняваме тези програми в Linux, така че се нуждаем от участието на терминала Ubuntu. Тъй като използваме C ++ код, трябва да компилираме кода чрез компилатора. Това е компилаторът на G ++. След компилиране на кода, ние ще го изпълним. Командите по -долу показват изходния подход, който сме използвали.

$ g++ -o код2 код2.° С

$./код2



Вече можете да видите изхода. Друг подобен пример в случая на std е функцията за разстояние. На това разстояние се изчислява с помощта на функциите start () и end (). Това завършва с използването на тези функции със std.

Int n=часа:: разстояние(часа::започнете(обр),часа::край(обр));

Резултатът се получава в израза cout. За да видите записа, използвайте компилатора отново, за да изпълните кода.

Тук можете да видите, че желаният от нас резултат е получен.

Пример 2

Този пример се отнася до използването на функцията sizeof () в кода на C ++, тъй като тази стойност връща действителния размер на данните под формата на байтове. Освен това той се занимава и с връщане на броя на байтовете, използвани за съхраняване на масив. С други думи, В този пример първата стъпка е инициализиране на масив, без да се декларира размерът на масив. синтаксисът, използван за функцията sizeof () е:

Int al= размер на(обр)/размер на(обр[0]);

Където arr е масивът. arr [0] показва индекса на елементите в масива.

Така че това твърдение предполага, че размерът на масива е разделен на размера на всички присъстващи елементи, един по един. Това помага при изчисляването на дължината. Използвахме целочислена променлива за получаване и съхраняване на връщаната стойност от функцията.

Тук ще получим изхода от командния ред по същия метод за изпълнение на компилиране.

Изходът показва размера на масива, което предполага броя на елементите, присъстващи в него, който е 6.

Пример 3

Този пример включва използването на функцията size (). Тази функция е поставена в стандартната библиотека, STL. Първата стъпка в основната програма е декларацията на масива. Тук името на масива също съдържа размера и целочислената стойност. Този метод също връща резултата директно в изходния израз.

Разходи<<….<<обр.размер()<<

Когато „arr“ е масивът, за да извлечем резултата или да получим достъп до функцията, се нуждаем от името на масива с функцията за размер.

За да покажем резултата, използваме компилатора g ++ за компилиране и изпълнение на резултата.

От изхода можете да видите, че резултатът е желаният от нас, който показва действителния размер на масива.

Пример 4

Размерът на масив може също да бъде получен чрез използване на указатели, тъй като указателите съхраняват адреса/местоположението на стойността на променливата. Сега разгледайте дадения по -долу пример.

Първата стъпка е да инициализирате масив както обикновено. Тогава показалецът работи за размера на масива.

Int len= *(&масив+ 1)- масив;

Това е основното изявление, което работи като указател. * се използва за локализиране на позицията на всеки елемент в масив, докато операторът & се използва за получаване на стойността на местоположението, получено чрез показалеца. Това е начинът, по който получаваме размер на масива от указатели. Резултатът се показва през терминала. Отговорът е същият. Тъй като размерът на споменатия масив е посочен като 13.

Пример 5

В този пример използвахме идеята за приспадане на аргумент на шаблон. Аргументът на шаблон е параметър от специален вид. Използва се за предаване на аргумент от всякакъв тип, също като обикновените функции, които могат да бъдат предадени като аргумент.

Когато масив се предава като параметър, той се преобразува в указател, за да покаже адреса. За да получим дължината на конкретния масив, използваме този подход за приспадане на аргумент на шаблон. Std е кратка форма на стандарт.

Като се има предвид даденият пример, ние въведохме клас шаблон, използван за получаване на размера на масива. Това е вграден клас по подразбиране, който съдържа всички функционалности на аргументите на шаблона.

Constexpr std: : size_tразмер(constT(&масив)[н])без изключение{

връщанен;

}

Това е постоянна линия в тази концепция. Изходът се получава директно в израза cout.

От изхода можете да видите, че имаме желания изход: размера на масива.

Пример 6

Използваме std :: vector, за да получим размера на масива в програмата. Това е вид контейнер; неговата функция е да съхранява динамични масиви. Работи с различни методи за различни операции. За да изпълним този пример, използвахме векторна библиотека, която включва всички векторни функции в нея. Той също така декларира cin, cout, endl и vector изрази, които да се използват в програмата. Първо в програмата се стартира масив. Изходът се показва в израза cout по размер на вектора.

Разходи<<векторен размер: <<int_array.размер() <<endl;

Сега ще видим изхода от терминала на Ubuntu. Размерът на масива е точен спрямо присъстващите в него елементи.

Заключение

В този урок използвахме различен подход, за да получим дължината или размера на масива. Някои са вградени функции, докато други се използват ръчно.