fentg.com

ФОРУМЪТ на ФЕНОВЕТЕ на НТГ
Дата и час: Нед Апр 11, 2021 6:16 am

Часовете са според зоната UTC + 2 часа [ DST ]


Правила на форума


Натиснете за да видите правилата



Напиши нова тема Отговори на тема  [ 16 мнения ]  Отиди на страница Предишна  1, 2
Автор Съобщение
 Заглавие: Re: C - четене на числа от текстов файл
МнениеПубликувано на: Нед Яну 19, 2014 11:30 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
Да така е. За това се грижи операционната система...

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

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

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: C - четене на числа от текстов файл
МнениеПубликувано на: Нед Яну 19, 2014 11:48 pm 
Offline
Аватар

Регистриран на: Чет Ное 27, 2008 12:06 am
Мнения: 111
emilang написа:
Да така е. За това се грижи операционната система...

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

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



Едитнах предходното мнение, че имах 1 пропуск. Иначе грижите за паметта,от към операционната система се изчерпват с това тя да задели памет и да върне адрес и после да освободи тази памет. Използването на върнатия адрес вече е изцяло в ръцете на програмиста и той може да омаже всичко и ОС няма да може да му помогне освен да го изхвърли от приложението :) .
Всеки един вид масив може да се препълни без значение какви данни съдържа.
Така или иначе в тази ситуация няма значение. На асемблерно ниво това, което правим е да подадем някаква стойност към акумулатор и после прехвърляме стойността на акумулатора в регистър или памет. Колкото и голяма стойност да предадем на акумулатора той не може да поеме повече, от колкото място има , така че всичко останало се игнорира и се продължава със следващата инструкция.

_________________
Ако нямаш приятели в живота, все едно да живееш в къща върху пясък!
Изображение
http://www.vergov.com


Върнете се в началото
 Профил  
 
 Заглавие: Re: C - четене на числа от текстов файл
МнениеПубликувано на: Нед Яну 19, 2014 11:59 pm 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
Да - препълване откъм наднормен брой елементи... Не става въпрос за препълване на елемент по големина...

Така че откъм голямото число, което си дал - правилно си едитнал - грешка или няма да бъде поето...

А за бройката - един брейк в цикъла, когато стигне нормата...

Но това са поуки от практическа работа... носещи практически ползи...

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

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

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: C - четене на числа от текстов файл
МнениеПубликувано на: Пон Яну 20, 2014 12:09 am 
Offline
Аватар

Регистриран на: Чет Ное 27, 2008 12:06 am
Мнения: 111
emilang написа:
Да - препълване откъм наднормен брой елементи... Не става въпрос за препълване на елемент по големина...

Така че откъм голямото число, което си дал - правилно си едитнал - грешка или няма да бъде поето...

А за бройката - един брейк в цикъла, когато стигне нормата...

Но това са поуки от практическа работа... носещи практически ползи...

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

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


Съгласен . Решението пак се свежда до динамично заделяне на памет или до фиксирана макс големина на инта , след което да се игнорира всичко останало .

_________________
Ако нямаш приятели в живота, все едно да живееш в къща върху пясък!
Изображение
http://www.vergov.com


Върнете се в началото
 Профил  
 
 Заглавие: Re: C - четене на числа от текстов файл
МнениеПубликувано на: Пон Яну 20, 2014 12:14 am 
Offline
Администратор
Аватар

Регистриран на: Нед Ное 02, 2008 5:30 pm
Мнения: 3550
Да.

А при динамичното заделяне има ли някакви проверки дали има достатъчно количество свободна памет, преди да поискаш заделяне на определно количество?

_________________
Изображение


Върнете се в началото
 Профил  
 
 Заглавие: Re: C - четене на числа от текстов файл
МнениеПубликувано на: Пон Яну 20, 2014 12:26 am 
Offline
Аватар

Регистриран на: Чет Ное 27, 2008 12:06 am
Мнения: 111
За компютърни системи heap-a няма определена големина. Тоест може да се заделя памет докато malloc функцията не върне NULL. За тази цел след използване на функция за заделяне на памет е хубаво да се проверява дали всичко е ок с новозаделената памет.
При микроконтролерите големината на heap-a се настройва от компилатора, като трябва да се съобразяваш с рамта , с която разполагаш.

http://en.wikipedia.org/wiki/C_dynamic_ ... allocation

Мисля, че в горният линк може да се открие много полезна информация.

_________________
Ако нямаш приятели в живота, все едно да живееш в къща върху пясък!
Изображение
http://www.vergov.com


Върнете се в началото
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
Напиши нова тема Отговори на тема  [ 16 мнения ]  Отиди на страница Предишна  1, 2

Часовете са според зоната UTC + 2 часа [ DST ]


Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Превод: Ioan Filipov