Брой елементи в масив?

24 отговора 811 прегледа
#1

Брой елементи в масив?

Как мога да разбера броя на елементите в един масив? Става дума за C.

Отговор
в отговор на some #2

Re: Брой елементи в масив?

В чистото C и C++ не можеш.
Езиците ти позволяват или чрез индексиране, или чрез pointer да преминеш след края на масива, програмата ти ще се компилира, но при run-ване верочтно ще гръмне...

Ако искаш да постигнеш някаква сигурност, или ползвай някой от класовете от STL или .NET Framework (става дума за езика C#), предполагам, че си начинаещ, щом задаваш такъв въпрос...тези класове са масиви с проверки на границите и много други полезни нещица...но един съвет...и все пак се занимавай с нещата от сравнително ниско ниво, както можеш да направиш в C, ще ти е от полза със сигурност...

най-често умните хора са и лоши
Отговор
в отговор на vroom #3

Re: Брой елементи в масив?

В Ц++ можеш, макар и по селски начин.

Я вышел им наперерез!
Отговор
в отговор на Resurrector #4

Re: Брой елементи в масив?

ОК - какъв е селския начин?

най-често умните хора са и лоши
Отговор
в отговор на vroom #5

Re: Брой елементи в масив?

ето, отговарям си сам...
ето, за инфо по-горе на въпроса:

sizeof array_variable / sizeof( array_variable[ 0 ] )

най-често умните хора са и лоши
Отговор
в отговор на Resurrector #6

Re: Брой елементи в масив?

И аз знам че не може (поне никъде досега несъм прочел обратното), но се надявах някой да е измисил нещо ;)

Отговор
в отговор на vroom #7

Re: Брой елементи в масив?

Ей да бе верно
Това го бях гледал в нечий код (на някакъв мискер за Linux беше майче).

Благодарности

Отговор
в отговор на vroom #8

Re: Брой елементи в масив?

i kakvo mu e selskoto na tozi na4in ?
mnogo dobyr na4in, raboti i na C

Отговор
в отговор на vroom #9

Re: Брой елементи в масив?

Тва е хубу, ама не става за динамично алокиран масив.

Я вышел им наперерез!
Отговор
в отговор на Resurrector #10

Re: Брой елементи в масив?

а, освен това май няма нужда да се дели на sizeof(първия елемент)

Я вышел им наперерез!
Отговор
в отговор на Resurrector #11

Re: Брой елементи в масив?

така си е, не става...

и все пак, кой е селския начин, по-който ще стане ?

най-често умните хора са и лоши
Отговор
в отговор на Resurrector #12

Re: Брой елементи в масив?

а, имало нужда
онуй връща само в байтове размера

Я вышел им наперерез!
Отговор
в отговор на vroom #13

Re: Брой елементи в масив?

Не се ебавай бе, толко ли не можеш да се сетиш бе

Я вышел им наперерез!
Отговор
в отговор на some #14

Re: Брой елементи в масив?

между другото...за какъв миксер за Linux става дума? да не би за някакъв audio mixer, в смисъл да не би да се опитваш да правиш нещо, свързано с аudio composing/editing или нещо от сорта? (щото аз съм запланувал да направя някакъв мой си custom VST plug-in...)

най-често умните хора са и лоши
Отговор
в отговор на Resurrector #15

Re: Брой елементи в масив?

не те ебавам, в момента не се сещам...

най-често умните хора са и лоши
Отговор
в отговор на vroom #16

Re: Брой елементи в масив?

Ми мноо чудно, егати. Преравяш ги всичките и където гръмне - до там е.

Я вышел им наперерез!
Отговор
в отговор на Resurrector #17

Re: Брой елементи в масив?

мдаааа...за това съм си мислил...
така че беше прав...начина и според мен е наистина селски

най-често умните хора са и лоши
Отговор
в отговор на vroom #18

Re: Брой елементи в масив?

Я не се излагайте! Каква е ползата от това нещо? За да работи трябва масива да е деклариран в същата функция и да не е динамичен (направен с malloc), ако това е така няма начин да не знаеш колко е голям. Ами ако го получваш като параметър в друга функция (когато според мен има смисъл от това да му знаеш размера)? Ако е направен с malloc и използваш windows тогава можеш да използваш _msize (има съответните еквиваленти и за другите платформи) за да вземеш размера на паметта и да делиш на размера на елемента, но това няма да стане ако на някои му хрумне да предаде указател към масив дето не е динамичен, а е например създаден като int a[100];

Отговор
в отговор на Hipo #19

Re: Брой елементи в масив?

В моя случай няма динамично заделяне на памет, масива не се връща от функция и т.н., така че този метод ми върши идеално работа :-)

Отговор
в отговор на some #20

Re: Брой елементи в масив?

ok

Отговор