Брой елементи в масив?
24 отговора
811 прегледа
Re: Брой елементи в масив?
В чистото C и C++ не можеш.
Езиците ти позволяват или чрез индексиране, или чрез pointer да преминеш след края на масива, програмата ти ще се компилира, но при run-ване верочтно ще гръмне...
Ако искаш да постигнеш някаква сигурност, или ползвай някой от класовете от STL или .NET Framework (става дума за езика C#), предполагам, че си начинаещ, щом задаваш такъв въпрос...тези класове са масиви с проверки на границите и много други полезни нещица...но един съвет...и все пак се занимавай с нещата от сравнително ниско ниво, както можеш да направиш в C, ще ти е от полза със сигурност...
най-често умните хора са и лоши
Езиците ти позволяват или чрез индексиране, или чрез pointer да преминеш след края на масива, програмата ти ще се компилира, но при run-ване верочтно ще гръмне...
Ако искаш да постигнеш някаква сигурност, или ползвай някой от класовете от STL или .NET Framework (става дума за езика C#), предполагам, че си начинаещ, щом задаваш такъв въпрос...тези класове са масиви с проверки на границите и много други полезни нещица...но един съвет...и все пак се занимавай с нещата от сравнително ниско ниво, както можеш да направиш в C, ще ти е от полза със сигурност...
най-често умните хора са и лоши
Re: Брой елементи в масив?
В Ц++ можеш, макар и по селски начин. 
Я вышел им наперерез!
Я вышел им наперерез!
Re: Брой елементи в масив?
най-често умните хора са и лоши
Re: Брой елементи в масив?
ето, отговарям си сам...
ето, за инфо по-горе на въпроса:
sizeof array_variable / sizeof( array_variable[ 0 ] )
най-често умните хора са и лоши
ето, за инфо по-горе на въпроса:
sizeof array_variable / sizeof( array_variable[ 0 ] )
най-често умните хора са и лоши
Re: Брой елементи в масив?
И аз знам че не може (поне никъде досега несъм прочел обратното), но се надявах някой да е измисил нещо ;)
Re: Брой елементи в масив?
Ей да бе верно
Това го бях гледал в нечий код (на някакъв мискер за Linux беше майче).
Благодарности
Това го бях гледал в нечий код (на някакъв мискер за Linux беше майче).
Благодарности
Re: Брой елементи в масив?
i kakvo mu e selskoto na tozi na4in ?
mnogo dobyr na4in, raboti i na C
mnogo dobyr na4in, raboti i na C
Re: Брой елементи в масив?
Тва е хубу, ама не става за динамично алокиран масив. 
Я вышел им наперерез!
Я вышел им наперерез!
Re: Брой елементи в масив?
а, освен това май няма нужда да се дели на sizeof(първия елемент)
Я вышел им наперерез!
Я вышел им наперерез!
Re: Брой елементи в масив?
така си е, не става...
и все пак, кой е селския начин, по-който ще стане ?
най-често умните хора са и лоши
и все пак, кой е селския начин, по-който ще стане ?
най-често умните хора са и лоши
Re: Брой елементи в масив?
а, имало нужда
онуй връща само в байтове размера
Я вышел им наперерез!
онуй връща само в байтове размера
Я вышел им наперерез!
Re: Брой елементи в масив?
Не се ебавай бе, толко ли не можеш да се сетиш бе 
Я вышел им наперерез!
Я вышел им наперерез!
Re: Брой елементи в масив?
между другото...за какъв миксер за Linux става дума? да не би за някакъв audio mixer, в смисъл да не би да се опитваш да правиш нещо, свързано с аudio composing/editing или нещо от сорта? (щото аз съм запланувал да направя някакъв мой си custom VST plug-in...)
най-често умните хора са и лоши
най-често умните хора са и лоши
Re: Брой елементи в масив?
не те ебавам, в момента не се сещам...
най-често умните хора са и лоши
най-често умните хора са и лоши
Re: Брой елементи в масив?
Ми мноо чудно, егати. Преравяш ги всичките и където гръмне - до там е. 
Я вышел им наперерез!
Я вышел им наперерез!
Re: Брой елементи в масив?
мдаааа...за това съм си мислил...
така че беше прав...начина и според мен е наистина селски
най-често умните хора са и лоши
така че беше прав...начина и според мен е наистина селски
най-често умните хора са и лоши
Re: Брой елементи в масив?
Я не се излагайте! Каква е ползата от това нещо? За да работи трябва масива да е деклариран в същата функция и да не е динамичен (направен с malloc), ако това е така няма начин да не знаеш колко е голям. Ами ако го получваш като параметър в друга функция (когато според мен има смисъл от това да му знаеш размера)? Ако е направен с malloc и използваш windows тогава можеш да използваш _msize (има съответните еквиваленти и за другите платформи) за да вземеш размера на паметта и да делиш на размера на елемента, но това няма да стане ако на някои му хрумне да предаде указател към масив дето не е динамичен, а е например създаден като int a[100];
Re: Брой елементи в масив?
В моя случай няма динамично заделяне на памет, масива не се връща от функция и т.н., така че този метод ми върши идеално работа :-)