<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3053005</guid>
        <pubDate>Wed, 28 Dec 2011 07:32:02 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3053005</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3052972'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>catr &#064; <time class="tag-quote__quoted-time" datetime="2011-12-28T06:23:23+00:00">28.12.11, 06:23</time></span><div class='quote '><div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '> Вектор же не работает с автоматической <em class='tag-i'>памятью</em>, он просто автоматически освобождает динамическую.</div></div><br>
А мы vector&lt;int, pool_allocator_or_whatever&lt;int&gt;&gt; возмём, и он тоже будет работать с локальной памятью.  Не на стеке, конечно, но от этого суть дела не меняется. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-12-28T10:27:55+04:00">28.12.11, 06:27</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3052972'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>catr &#064; <time class="tag-quote__quoted-time" datetime="2011-12-28T06:23:23+00:00">28.12.11, 06:23</time></span><div class='quote '>А мы vector&lt;int, pool_allocator_or_whatever&lt;int&gt;&gt; возмём, и он тоже будет работать с локальной памятью.  Не на стеке, конечно, но от этого суть дела не меняется.</div></div><br>
Причём это будет даже лучше размещения массива на стеке, так как переполнение стека черевато крахом программы, а нехватка памяти в пуле может привести всего-лишь к исключению.</div></div><br>
Так с этим-то никто не спорит.]]></description>
        <author>D_KEY</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052972</guid>
        <pubDate>Wed, 28 Dec 2011 06:23:23 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052972</link>
        <description><![CDATA[catr: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '> Вектор же не работает с автоматической <em class='tag-i'>памятью</em>, он просто автоматически освобождает динамическую.</div></div><br>
А мы vector&lt;int, pool_allocator_or_whatever&lt;int&gt;&gt; возмём, и он тоже будет работать с локальной памятью.  Не на стеке, конечно, но от этого суть дела не меняется. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-12-28T06:27:55+00:00">28.12.11, 06:27</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3052972'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>catr &#064; <time class="tag-quote__quoted-time" datetime="2011-12-28T06:23:23+00:00">28.12.11, 06:23</time></span><div class='quote '>А мы vector&lt;int, pool_allocator_or_whatever&lt;int&gt;&gt; возмём, и он тоже будет работать с локальной памятью.  Не на стеке, конечно, но от этого суть дела не меняется.</div></div><br>
Причём это будет даже лучше размещения массива на стеке, так как переполнение стека черевато крахом программы, а нехватка памяти в пуле может привести всего-лишь к исключению.]]></description>
        <author>catr</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052417</guid>
        <pubDate>Tue, 27 Dec 2011 09:40:03 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052417</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3052409'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2011-12-27T09:32:18+00:00">27.12.11, 09:32</time></span><div class='quote '>С тем, что std::vector&lt;&gt; якобы не является заменой. Является. Поэтому эта C99-фича в Плюсах не нужна.</div></div><br>
Она нужна в плюсах исключительно для совместимости с C99. <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2011-12-27T09:45:06+00:00">27.12.11, 09:45</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3052409'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2011-12-27T09:32:18+00:00">27.12.11, 09:32</time></span><div class='quote '>С тем, что std::vector&lt;&gt; якобы не является заменой. Является.</div></div><br>
Не совсем. Одно из свойств &quot;локальной&quot; памяти - более быстрая работа и локальный контекст распределения(т.е. нас не волнуют вопросы распределения и освобождения, проблемы многопоточной среды и т.п.). Вектор же не работает с автоматической <em class='tag-i'>памятью</em>, он просто автоматически освобождает динамическую.]]></description>
        <author>D_KEY</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052409</guid>
        <pubDate>Tue, 27 Dec 2011 09:32:18 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052409</link>
        <description><![CDATA[Qraizer: С тем, что std::vector&lt;&gt; якобы не является заменой. Является. Поэтому эта C99-фича в Плюсах не нужна.]]></description>
        <author>Qraizer</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052376</guid>
        <pubDate>Tue, 27 Dec 2011 08:54:40 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052376</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3052355'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2011-12-27T08:39:40+00:00">27.12.11, 08:39</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051803'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-12-26T08:50:11+00:00">26.12.11, 08:50</time></span><div class='quote '>Тут же работа со стэком и ключевая особенность variable-length массивов именно в этом.</div></div>Да ну? А я всегда считал, что это не цель, а средство её достижения. А целью является &quot;локальность&quot; выделяемой памяти.</div></div><br>
Я одного не понял, с чем ты спорил? Стэк == локальная память.]]></description>
        <author>D_KEY</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052355</guid>
        <pubDate>Tue, 27 Dec 2011 08:39:40 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052355</link>
        <description><![CDATA[Qraizer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051803'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-12-26T08:50:11+00:00">26.12.11, 08:50</time></span><div class='quote '>Тут же работа со стэком и ключевая особенность variable-length массивов именно в этом.</div></div>Да ну? А я всегда считал, что это не цель, а средство её достижения. А целью является &quot;локальность&quot; выделяемой памяти. Когда-то этим занималась _alloca(), и такие массивы являются результатом её стандартизации.]]></description>
        <author>Qraizer</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052162</guid>
        <pubDate>Mon, 26 Dec 2011 19:59:13 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3052162</link>
        <description><![CDATA[Сыроежка: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051269'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>tumanovalex &#064; <time class="tag-quote__quoted-time" datetime="2011-12-24T13:33:29+00:00">24.12.11, 13:33</time></span><div class='quote '>1. В книге Харбисона и Стила &quot;Язык С с примерами&quot; (2011 года, стр. 162) указывается, что запись функции вида:<br>
void getArray(int nstr, int ncol, int a[nstr][ncol]) {...}<br>
является корректным. Я не очень понял, как тогда нужно объявлять массив &quot;a&quot; в основной программе для правильного вызова функции. <br>
2. В книге по C, по-моему, Шилда указано, что в функциях можно использовать локальные массивы конструкции:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void getArray(int nstr, int ncol) </div><div class="code_line">{</div><div class="code_line">int a[nstr][ncol];</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Ошибки<br>
Может быть я неправильно понял изложенное в этих книгах? Прикрепляю проект, который компилировал и как С++, и как С.</div></div><br>
1. В книге Харбисона и Стила &quot;Язык С с примерами&quot; (2011 года, стр. 162) указывается, что запись функции вида:<br>
void getArray(int nstr, int ncol, int a[nstr][ncol]) {...}<br>
является корректным. Я не очень понял, как тогда нужно объявлять массив &quot;a&quot; в основной программе для правильного вызова функции. <br>
2. В книге по C, по-моему, Шилда указано, что в функциях можно использовать локальные массивы конструкции:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void getArray(int nstr, int ncol) </div><div class="code_line">{</div><div class="code_line">int a[nstr][ncol];</div><div class="code_line">}</div></ol></div></div></div></div><br>
Ошибки<br>
Может быть я неправильно понял изложенное в этих книгах? Прикрепляю проект, который компилировал и как С++, и как С. <br>
<br>
Первый ваш вопрос. Для вызова функции <strong class='tag-b'>getArray</strong> нужно в первых двух параметрах указать размеррности массива, передаваемого в качестве третьего аргумента.<br>
<br>
Например,<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">int main( void )</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; int a[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } };</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; getArray( 2, 3, a );</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Второй ваш вопрос. ваш компилятор выдает сообщения об ошибке, так как он, скорей всего, просто не поддерживает стандарт языка С99.<br>
Если вы программируете на С, то вам очевидно нужно использовать компилятор, который поддерживает стандарт С99.]]></description>
        <author>Сыроежка</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051803</guid>
        <pubDate>Mon, 26 Dec 2011 08:50:11 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051803</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051799'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2011-12-26T08:41:29+00:00">26.12.11, 08:41</time></span><div class='quote '>Ну и что? Контракты те же.</div></div><br>
&quot;Контракты&quot; даже лучше у вектора :) Тут же работа со стэком и ключевая особенность variable-length массивов именно в этом.<br>
Разговор изначально вообще-то о С был.<br>
Но я так и не понял, почему в новом стандарте С++ все-таки отказались от обещанной совместимости с C99?]]></description>
        <author>D_KEY</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051799</guid>
        <pubDate>Mon, 26 Dec 2011 08:41:29 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051799</link>
        <description><![CDATA[Qraizer: Ну и что? Контракты те же.]]></description>
        <author>Qraizer</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051795</guid>
        <pubDate>Mon, 26 Dec 2011 08:37:19 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051795</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051784'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2011-12-26T08:12:39+00:00">26.12.11, 08:12</time></span><div class='quote '>Зачем? std::vector&lt;&gt; на что?</div></div><br>
std::vector&lt;&gt; работает с динамической памятью. Можно, конечно, заставить его работать со стэком, но это уже извращение. ИМХО.]]></description>
        <author>D_KEY</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051784</guid>
        <pubDate>Mon, 26 Dec 2011 08:12:39 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051784</link>
        <description><![CDATA[Qraizer: Зачем? std::vector&lt;&gt; на что?]]></description>
        <author>Qraizer</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051725</guid>
        <pubDate>Mon, 26 Dec 2011 06:43:32 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051725</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051584'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-12-25T17:49:16+00:00">25.12.11, 17:49</time></span><div class='quote '>Вдобавок подобная таким массивам конструкция, реализованная средствами C++, практически не отличается результатом компиляции.</div></div><br>
Это какая же? Разве что извращаться через placement new.]]></description>
        <author>D_KEY</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051652</guid>
        <pubDate>Sun, 25 Dec 2011 22:27:22 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051652</link>
        <description><![CDATA[MyNameIsIgor: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051584'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2011-12-25T17:49:16+00:00">25.12.11, 17:49</time></span><div class='quote '>C99 так и не стал основным стандартом C</div></div><br>
А уже вышел C11...]]></description>
        <author>MyNameIsIgor</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051584</guid>
        <pubDate>Sun, 25 Dec 2011 17:49:16 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051584</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051325'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2011-12-24T17:20:23+00:00">24.12.11, 17:20</time></span><div class='quote '>Кстати, новый же стандарт C++ хотели привести в соответствие с C99</div></div> C99 так и не стал основным стандартом C. Все еще существуют компиляторы не поддерживаюшие этот стандарт, и это считается нормальным.<br>
<br>
Учитывая, что в C++ и массивы C89 с константным размером считаются плохим тоном, то становится понятным, почему в стандарт C++ не стали вводить массивы с неизвестным на момент компиляции размером. Тем более, что у C99 и C++ и так хватает несоответствий. Вдобавок подобная таким массивам конструкция, реализованная средствами C++, практически не отличается результатом компиляции.]]></description>
        <author>amk</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051325</guid>
        <pubDate>Sat, 24 Dec 2011 17:20:23 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051325</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051282'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adil &#064; <time class="tag-quote__quoted-time" datetime="2011-12-24T14:05:05+00:00">24.12.11, 14:05</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051269'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>tumanovalex &#064; <time class="tag-quote__quoted-time" datetime="2011-12-24T13:33:29+00:00">24.12.11, 13:33</time></span><div class='quote '>2. В книге по C, по-моему, Шилда указано, что в функциях можно использовать локальные массивы конструкции:</div></div>Или ты не так понял, или выкинь книгу. При объявлении массива nrow и ncol должны быть константами.</div></div><br>
В С++. В С - можно и не константами(в C99).<br>
Кстати, новый же стандарт C++ хотели привести в соответствие с C99 :-?]]></description>
        <author>D_KEY</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051313</guid>
        <pubDate>Sat, 24 Dec 2011 16:20:14 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051313</link>
        <description><![CDATA[Qraizer: В Стандарте C99 разрешаются локальные в функциях массивы с неконстанстными размерами. В Стандарте C++ такого нет за ненадобностью. Но по-любому массивы в параметрах функций сводятся к указателям. Оно является коррекным в любой ревизии C/C++, но будет игнорироваться.]]></description>
        <author>Qraizer</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051282</guid>
        <pubDate>Sat, 24 Dec 2011 14:05:05 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051282</link>
        <description><![CDATA[Adil: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=348024&view=findpost&p=3051269'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>tumanovalex &#064; <time class="tag-quote__quoted-time" datetime="2011-12-24T13:33:29+00:00">24.12.11, 13:33</time></span><div class='quote '>2. В книге по C, по-моему, Шилда указано, что в функциях можно использовать локальные массивы конструкции:</div></div>Или ты не так понял, или выкинь книгу. При объявлении массива nrow и ncol должны быть константами.]]></description>
        <author>Adil</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051269</guid>
        <pubDate>Sat, 24 Dec 2011 13:33:29 +0000</pubDate>
        <title>Определение параметров массивов в языке С</title>
        <link>https://forum.sources.ru/index.php?showtopic=348024&amp;view=findpost&amp;p=3051269</link>
        <description><![CDATA[tumanovalex: 1. В книге Харбисона и Стила &quot;Язык С с примерами&quot; (2011 года, стр. 162) указывается, что запись функции вида:<br>
void getArray(int nstr, int ncol, int a[nstr][ncol]) {...}<br>
является корректным. Я не очень понял, как тогда нужно объявлять массив &quot;a&quot; в основной программе для правильного вызова функции. <br>
2. В книге по C, по-моему, Шилда указано, что в функциях можно использовать локальные массивы конструкции:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">void getArray(int nstr, int ncol) </div><div class="code_line">{</div><div class="code_line">int a[nstr][ncol];</div><div class="code_line">}</div></ol></div></div></div></div><br>
Ошибки<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">error C2057: требуется константное выражение</div><div class="code_line">error C2466: невозможно выделить память для массива постоянного нулевого размера</div><div class="code_line">error C2057: требуется константное выражение</div><div class="code_line">error C2466: невозможно выделить память для массива постоянного нулевого размера</div><div class="code_line">error C2087: a: отсутствует индекс</div></ol></div></div></div></div>Может быть я неправильно понял изложенное в этих книгах? Прикрепляю проект, который компилировал и как С++, и как С. Посмотрите, пожалуйста, может быть я что-то делаю неправильно.<br>
<span class="b-attach" data-size="2262" data-hits="135" data-attach-id="14736" data-attach-post-id="3051269">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=3051269&amp;attach_id=14736' title='Скачать файл' target='_blank'>My_ConsConly.zip</a> (, : 135)
		</span>]]></description>
        <author>tumanovalex</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	