<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ejudge.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=Alloca</id>
	<title>Alloca - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://ejudge.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=Alloca"/>
	<link rel="alternate" type="text/html" href="https://ejudge.ru/wiki/index.php?title=Alloca&amp;action=history"/>
	<updated>2026-04-15T01:38:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://ejudge.ru/wiki/index.php?title=Alloca&amp;diff=2196&amp;oldid=prev</id>
		<title>Cher: New page: Функция alloca выделяет память в стеке функции, из которой вызвана. Память будет автоматически освобожде...</title>
		<link rel="alternate" type="text/html" href="https://ejudge.ru/wiki/index.php?title=Alloca&amp;diff=2196&amp;oldid=prev"/>
		<updated>2008-08-22T13:52:38Z</updated>

		<summary type="html">&lt;p&gt;New page: Функция alloca выделяет память в стеке функции, из которой вызвана. Память будет автоматически освобожде...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Функция alloca выделяет память в стеке функции, из которой вызвана. Память будет автоматически освобождена при выходе из этой функции.&lt;br /&gt;
&lt;br /&gt;
 void *alloca(size_t size);&lt;br /&gt;
&lt;br /&gt;
На стеке выделяется память размера size байт и возвращается указатель на начало этой области памяти. Память не инициализируется. В случае невозможности выделить область памяти указанного размера поведение функции неопределено.&lt;br /&gt;
&lt;br /&gt;
Эта функция очень быстрая (по сути транслируется в одну машинную инструкцию), выделенная ей память освобождается автоматически и не требует явных вызовов наподобие free. Тем не менее, использовать эту функцию нужно с осторожностью.&lt;br /&gt;
* Максимальный размер стека процесса, как правило, ограничен существенно меньшим значением, чем размер адресного пространства. Например, в Linux по умолчанию максимальный размер стека &amp;amp;mdash; 8 [[MiB]]. Он еще меньше в создаваемых потоках многопоточного приложения.&lt;br /&gt;
* Попытка выделить область памяти большого размера (так, что ограничение на размер стека будет превышено) приводит к снятию процесса с выполнения посылкой ему сигнала SIGSEGV, то есть нет способа получить управление назад в случае, если выделение памяти невозможно.&lt;/div&gt;</summary>
		<author><name>Cher</name></author>
		
	</entry>
</feed>