<?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=150484&amp;view=findpost&amp;p=1226091</guid>
        <pubDate>Fri, 18 Aug 2006 13:59:42 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1226091</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1225789'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adil &#064; <time class="tag-quote__quoted-time" datetime="2006-08-18T15:48:19+04:00">18.08.06, 11:48</time></span><div class='quote '><strong class='tag-b'>-Daemon-</strong>, ну понятно же, что просто путаница в терминологии: &quot;статический&quot; по отношению к времени жизни и к области видимости. Хотя <strong class='tag-b'>gryz</strong> неприминул попытаться <strong class='tag-b'>Hryak</strong>&#39;а на этом подловить.</div></div><br>
&quot;Попытка - не пытка&quot; &copy; ЛПБ  :lool: <br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>gryz</span><div class='quote '>Все таки, у меня в процессе работы с с++ сложилось мнение, что статическая переменная - это скорее переменная, имеющая характерное время жизни, чем характерную область видимости.</div></div><br>
Так это твое мнение.<br>
Моё мнение - &quot;Статическая переменная - это переменная объявленная с использованием ключевого слова static&quot;.<br>
Сомневаюсь, что мое определение хуже твоего, потому что оно универсальней. Просто смысл зависит от контекста (кстати, перечитай ветку и найди хоть одно упоминание того, что речь шла про твой контекст - т.е. про локальные переменные)<br>
Я не применяю такое определение, когда контест неясен - в этом случае всегда добавляю к выражению &quot;глобальная&quot;/&quot;локальная&quot;.<br>
А то, что ты называешь &quot;статической переменной&quot;, называю &quot;переменной со статическим временем жизни&quot;, если речь идет именно про время жизни.]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225913</guid>
        <pubDate>Fri, 18 Aug 2006 12:44:23 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225913</link>
        <description><![CDATA[gryz: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1225894'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adil &#064; <time class="tag-quote__quoted-time" datetime="2006-08-18T12:32:59+00:00">18.08.06, 12:32</time></span><div class='quote '>хм, а меня - порадовало, что не на меня так набросились. Будь оптимистом. :D</div></div><br>
Ну на тебя то за то? <br>
nonstatic - неплохое ключевое слово. <br>
можно было бы и попользоваться им :)))]]></description>
        <author>gryz</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225894</guid>
        <pubDate>Fri, 18 Aug 2006 12:32:59 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225894</link>
        <description><![CDATA[Adil: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1225813'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>gryz &#064; <time class="tag-quote__quoted-time" datetime="2006-08-18T12:04:40+00:00">18.08.06, 12:04</time></span><div class='quote '>статическая переменная - это скорее переменная, имеющая характерное время жизни, чем характерную область видимости. </div></div><br>
Скорее - это завист от контекста употребления. <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="2006-08-18T12:34:24+00:00">18.08.06, 12:34</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1225894'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adil &#064; <time class="tag-quote__quoted-time" datetime="2006-08-18T12:32:59+00:00">18.08.06, 12:32</time></span><div class='quote '>Меня огорчило как на polyglott набросились </div></div>, хм, а меня - порадовало, что не на меня так набросились. Будь оптимистом. :D]]></description>
        <author>Adil</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225813</guid>
        <pubDate>Fri, 18 Aug 2006 12:04:40 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225813</link>
        <description><![CDATA[gryz: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1225789'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adil &#064; <time class="tag-quote__quoted-time" datetime="2006-08-18T11:48:19+00:00">18.08.06, 11:48</time></span><div class='quote '><strong class='tag-b'>-Daemon-</strong>, ну понятно же, что просто путаница в терминологии: &quot;статический&quot; по отношению к времени жизни и к области видимости. Хотя <strong class='tag-b'>gryz</strong> неприминул попытаться <strong class='tag-b'>Hryak</strong>&#39;а на этом подловить.</div></div><br>
Все таки, у меня в процессе работы с с++ сложилось мнение, что статическая переменная - это скорее переменная, имеющая характерное время жизни, чем характерную область видимости. <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="2006-08-18T12:09:00+00:00">18.08.06, 12:09</time></span></span><br>
Меня огорчило как на <strong class='tag-b'>polyglott</strong> набросились :)]]></description>
        <author>gryz</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225805</guid>
        <pubDate>Fri, 18 Aug 2006 12:01:30 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225805</link>
        <description><![CDATA[-Daemon-: <strong class='tag-b'>gryz</strong> ок.<br>
<strong class='tag-b'>Adil</strong> я сам запутался :)]]></description>
        <author>-Daemon-</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225789</guid>
        <pubDate>Fri, 18 Aug 2006 11:48:19 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225789</link>
        <description><![CDATA[Adil: <strong class='tag-b'>-Daemon-</strong>, ну понятно же, что просто путаница в терминологии: &quot;статический&quot; по отношению к времени жизни и к области видимости. Хотя <strong class='tag-b'>gryz</strong> неприминул попытаться <strong class='tag-b'>Hryak</strong>&#39;а на этом подловить.]]></description>
        <author>Adil</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225771</guid>
        <pubDate>Fri, 18 Aug 2006 11:40:37 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1225771</link>
        <description><![CDATA[gryz: <strong class='tag-b'>-Daemon-</strong><br>
Тут надо смотреть на то, как ты понимаешь понятие &quot;статическая переменная&quot;. :)<br>
---<br>
When modifying a variable or function at file scope, the static keyword specifies that the variable or function has internal linkage (its name is not visible from outside the file in which it is declared).<br>
----<br>
и<br>
---<br>
Objects and variables defined outside all blocks have static lifetime and external linkage by default. A global object or variable that is explicitly declared as static has internal linkage.<br>
<br>
---<br>
говоря, что переменная статическая. Я не имею ввиду, что у нее internal linkage, а имею ввиду ее &quot;статическое&quot; поведение]]></description>
        <author>gryz</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1224715</guid>
        <pubDate>Thu, 17 Aug 2006 15:25:21 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1224715</link>
        <description><![CDATA[-Daemon-: <strong class='tag-b'>gryz</strong> я это все понимаю. Но ты вот написал выше:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Как глобальная переменная может быть нестатической? Все глобальные переменные - статические.</div></div> Если все глобальные переменные - статические (в глобальной области видимости), значит по идее они имеют internal linkage. Тогда почему пример, который я приводил выше, без ключевого слова static, приводит к ошибке линковщика?]]></description>
        <author>-Daemon-</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1224569</guid>
        <pubDate>Thu, 17 Aug 2006 13:47:21 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1224569</link>
        <description><![CDATA[gryz: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1224457'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;Daemon&#045; &#064; <time class="tag-quote__quoted-time" datetime="2006-08-17T12:59:53+00:00">17.08.06, 12:59</time></span><div class='quote '><strong class='tag-b'>gryz</strong> тогда встречный вопрос по поводу линковки. Почему если в хедер файле объявить переменную и инклудить ее в две разные единицы трансляции - возникает ошибка линковщика. Если же прописать спецификатор static, т.е. явно указать способ линковки, - то ествественно ошибка исчезает.</div></div><br>
Этот static никаким образом не относится к статику для локальных переменных и членов классов.<br>
static для глобальных переменных как раз и делает их уникальными для каждой единицы трансляции.<br>
Фактически в этом случае компилятор создает несколько независимых глобальных переменных по одной для каждой единицы трансляции]]></description>
        <author>gryz</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1224457</guid>
        <pubDate>Thu, 17 Aug 2006 12:59:53 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1224457</link>
        <description><![CDATA[-Daemon-: <strong class='tag-b'>gryz</strong> тогда встречный вопрос по поводу линковки. Почему если в хедер файле объявить переменную и инклудить ее в две разные единицы трансляции - возникает ошибка линковщика. Если же прописать спецификатор static, т.е. явно указать способ линковки, - то ествественно ошибка исчезает.]]></description>
        <author>-Daemon-</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1224441</guid>
        <pubDate>Thu, 17 Aug 2006 12:50:14 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1224441</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1224167'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>gryz &#064; <time class="tag-quote__quoted-time" datetime="2006-08-17T11:00:54+00:00">17.08.06, 11:00</time></span><div class='quote '>По отношению к глобальным переменным слово static приобретает просто иной смысл, чем по отношению к локальным</div></div><br>
Спасибо за просвещение, не знал этого.  :wub:]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1224167</guid>
        <pubDate>Thu, 17 Aug 2006 11:00:54 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1224167</link>
        <description><![CDATA[gryz: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1208960'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-08T10:01:49+00:00">08.08.06, 10:01</time></span><div class='quote '>А как её сделать нестатической тогда? Написать nostatic int g;, что ли?  :lol: <br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;</div></div><br>
Подумай&#33; Как глобальная переменная может быть нестатической? Все глобальные переменные - статические. <br>
По отношению к глобальным переменным слово static приобретает просто иной смысл, чем по отношению к локальным]]></description>
        <author>gryz</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1210293</guid>
        <pubDate>Tue, 08 Aug 2006 20:11:14 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1210293</link>
        <description><![CDATA[-Daemon-: <span class='tag-size' data-value='8' style='font-size:8pt;'><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1209151'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LPBOY &#064; <time class="tag-quote__quoted-time" datetime="2006-08-08T11:24:50+00:00">08.08.06, 11:24</time></span><div class='quote '>extern int fn() // определение, компилится нормально</div></div>  :blink: Век живи, век учись...<br>
</span>]]></description>
        <author>-Daemon-</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1210014</guid>
        <pubDate>Tue, 08 Aug 2006 16:08:06 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1210014</link>
        <description><![CDATA[Hryak: Уболтали.  :yes:]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1209151</guid>
        <pubDate>Tue, 08 Aug 2006 11:24:50 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1209151</link>
        <description><![CDATA[LPBOY: :no:  :no:  :no: <br>
Цитатка не до конца. :rolleyes: <br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
A declaration is a definition unless it declares a function without specifying the function’s body (8.4), it<br>
contains the extern specifier (7.1.1) or a linkage-specification (7.5) and neither an initializer nor a<br>
function-body,<br>
</div></div><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">extern int x = 1; // определение, компилится нормально</div><div class="code_line">extern int fn() // определение, компилится нормально</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 1;</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>LPBOY</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1209118</guid>
        <pubDate>Tue, 08 Aug 2006 11:11:00 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1209118</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1209113'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>LPBOY &#064; <time class="tag-quote__quoted-time" datetime="2006-08-08T11:08:24+00:00">08.08.06, 11:08</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1208960'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-08T10:01:49+00:00">08.08.06, 10:01</time></span><div class='quote '>определение не может содержать extern, про что тут уже говорили.</div></div><br>
:blink:</div></div><br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><strong class='tag-b'>A declaration is a definition unless</strong> it declares a function without specifying the function&#39;s body (dcl.fct.def), <strong class='tag-b'>it contains the extern specifier </strong>(dcl.stc) or a linkage-specification* </div></div>]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1209113</guid>
        <pubDate>Tue, 08 Aug 2006 11:08:24 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1209113</link>
        <description><![CDATA[LPBOY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1208960'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-08T10:01:49+00:00">08.08.06, 10:01</time></span><div class='quote '>определение не может содержать extern, про что тут уже говорили.</div></div><br>
:blink:]]></description>
        <author>LPBOY</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1208960</guid>
        <pubDate>Tue, 08 Aug 2006 10:01:49 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1208960</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1208443'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Sazabis &#064; <time class="tag-quote__quoted-time" datetime="2006-08-08T06:56:53+00:00">08.08.06, 06:56</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1207744'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-07T14:30:08+00:00">07.08.06, 14:30</time></span><div class='quote '>Зачем слова из контекста вырываешь? Перечитай сквотированное мной перед этими словами. </div></div><br>
значит не понял, и опять перечитал не понял )) Вопрос какой нибуть был вообще ?</div></div><br>
Повторяю содержание первой части поста  #7:<br>
&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205540'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>polyglott &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T11:40:51+00:00">05.08.06, 11:40</time></span><div class='quote '>Если объявляешь переменную вне функции без квалификаторов, то переменная поумолчанию делается статической.</div></div><br>
Без каких квалификаторов?  :wacko: <br>
А как её сделать нестатической тогда? Написать nostatic int g;, что ли?  :lol: <br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;<br>
<br>
Во-первых, речь шла про переменные, а не функции.<br>
Во-вторых, extern вообще не при делах, т.к. определение не может содержать extern, про что тут уже говорили.<br>
В-третьих, я знаю, что функции по умолчанию имеют внешнюю линковку :tong: .]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1208443</guid>
        <pubDate>Tue, 08 Aug 2006 06:56:53 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1208443</link>
        <description><![CDATA[Sazabis: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1207744'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-07T14:30:08+00:00">07.08.06, 14:30</time></span><div class='quote '>Зачем слова из контекста вырываешь? Перечитай сквотированное мной перед этими словами. </div></div><br>
значит не понял, и опять перечитал не понял )) Вопрос какой нибуть был вообще ?  <br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1207744'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-07T14:30:08+00:00">07.08.06, 14:30</time></span><div class='quote '>Написать nostatic int g;, что ли? </div></div><br>
написать extern int g; extern это проивоположность static.]]></description>
        <author>Sazabis</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1207744</guid>
        <pubDate>Mon, 07 Aug 2006 14:30:08 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1207744</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1206776'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adil &#064; <time class="tag-quote__quoted-time" datetime="2006-08-07T05:51:59+00:00">07.08.06, 05:51</time></span><div class='quote '><span class="tag-color tag-color-named" data-value="gray" style="color: gray"><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T14:40:36+00:00">05.08.06, 14:40</time></span><div class='quote '>Написать nostatic int g;, что ли?</div></div>Так нельзя&#33; Это безграмотно&#33; Надо писать <strong class='tag-b'>no<span class="tag-color tag-color-named" data-value="red" style="color: red">n</span>static</strong>.</span></div></div><br>
:whistle: <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;'>-Added <time class="tag-mergetime" datetime="2006-08-07T14:32:49+00:00">07.08.06, 14:32</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1207101'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Sazabis &#064; <time class="tag-quote__quoted-time" datetime="2006-08-07T09:14:29+00:00">07.08.06, 09:14</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T14:40:36+00:00">05.08.06, 14:40</time></span><div class='quote '>А как её сделать нестатической тогда? Написать nostatic int g;, что ли?  </div></div><br>
по умолчанию функции итак имеют не статик спецификатор, а именно <strong class='tag-b'>extern</strong></div></div><br>
Зачем слова из контекста вырываешь? Перечитай сквотированное мной перед этими словами.]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1207375</guid>
        <pubDate>Mon, 07 Aug 2006 11:19:10 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1207375</link>
        <description><![CDATA[-Daemon-: <strong class='tag-b'>Sazabis</strong> объявление, но не определение ;) <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="2006-08-07T11:19:31+00:00">07.08.06, 11:19</time></span></span><br>
Возможно я не правильно понял твою реплику.]]></description>
        <author>-Daemon-</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1207240</guid>
        <pubDate>Mon, 07 Aug 2006 10:13:54 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1207240</link>
        <description><![CDATA[Sazabis: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1207217'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>&#045;Daemon&#045; &#064; <time class="tag-quote__quoted-time" datetime="2006-08-07T10:03:53+00:00">07.08.06, 10:03</time></span><div class='quote '>Не могут они иметь extern, поскольку extern используется только в объявлениях (declaration), а фунция (не прототип, а именно функция) - это определение (definition). </div></div><br>
и ? что, функция не может быть external linkage ?]]></description>
        <author>Sazabis</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1207217</guid>
        <pubDate>Mon, 07 Aug 2006 10:03:53 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1207217</link>
        <description><![CDATA[-Daemon-: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1207101'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Sazabis &#064; <time class="tag-quote__quoted-time" datetime="2006-08-07T09:14:29+00:00">07.08.06, 09:14</time></span><div class='quote '>по умолчанию функции итак имеют не статик спецификатор, а именно extern</div></div> Не могут они иметь extern, поскольку extern используется только в объявлениях (declaration), а фунция (не прототип, а именно функция) - это определение (definition).]]></description>
        <author>-Daemon-</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1207101</guid>
        <pubDate>Mon, 07 Aug 2006 09:14:29 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1207101</link>
        <description><![CDATA[Sazabis: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T14:40:36+00:00">05.08.06, 14:40</time></span><div class='quote '>А как её сделать нестатической тогда? Написать nostatic int g;, что ли?  </div></div><br>
по умолчанию функции итак имеют не статик спецификатор, а именно <strong class='tag-b'>extern</strong><br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1206776'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Adil &#064; <time class="tag-quote__quoted-time" datetime="2006-08-07T05:51:59+00:00">07.08.06, 05:51</time></span><div class='quote '>Так нельзя&#33; Это безграмотно&#33; Надо писать nonstatic. </div></div><br>
тоесть грамотно  ;) ,надо писать <strong class='tag-b'>extern</strong> или ничего.]]></description>
        <author>Sazabis</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1206776</guid>
        <pubDate>Mon, 07 Aug 2006 05:51:59 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1206776</link>
        <description><![CDATA[Adil: <span class="tag-color tag-color-named" data-value="gray" style="color: gray"><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T14:40:36+00:00">05.08.06, 14:40</time></span><div class='quote '>Написать nostatic int g;, что ли?</div></div>Так нельзя&#33; Это безграмотно&#33; Надо писать <strong class='tag-b'>no<span class="tag-color tag-color-named" data-value="red" style="color: red">n</span>static</strong>.</span>]]></description>
        <author>Adil</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1206119</guid>
        <pubDate>Sun, 06 Aug 2006 09:39:00 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1206119</link>
        <description><![CDATA[-Daemon-: <strong class='tag-b'>GreenGen</strong> вообщем прочитай в книге про internal linkage (атрибут статик) и external linkage, и как проходит процесс компиляции и компоновки.]]></description>
        <author>-Daemon-</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1206098</guid>
        <pubDate>Sun, 06 Aug 2006 09:15:40 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1206098</link>
        <description><![CDATA[mo3r: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1206066'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>GreenGen &#064; <time class="tag-quote__quoted-time" datetime="2006-08-06T08:41:40+00:00">06.08.06, 08:41</time></span><div class='quote '>Вобщем как я понял если просто глобальная переменная то её область видимости 1 фаил в котором она объявлена а static глобальная переменная её видно во всех файлах проекта.</div></div><br>
Наоборот. static глобальная переменная видна только в том файле, в котором объявлена, просто глобальная --- во всех.]]></description>
        <author>mo3r</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1206086</guid>
        <pubDate>Sun, 06 Aug 2006 08:55:17 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1206086</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1206066'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>GreenGen &#064; <time class="tag-quote__quoted-time" datetime="2006-08-06T08:41:40+00:00">06.08.06, 08:41</time></span><div class='quote '>Вобщем как я понял если просто глобальная переменная то её область видимости 1 фаил в котором она объявлена а static глобальная переменная её видно во всех файлах проекта.</div></div><br>
<s class='tag-s'>Да.</s> Тьфу ты.  :wall: Нет, конечно же.<br>
Пора на покой.]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1206066</guid>
        <pubDate>Sun, 06 Aug 2006 08:41:40 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1206066</link>
        <description><![CDATA[GreenGen: Вобщем как я понял если просто глобальная переменная то её область видимости 1 фаил в котором она объявлена а static глобальная переменная её видно во всех файлах проекта.<br><br>Как я понял они различаются областью видимости?]]></description>
        <author>GreenGen</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205735</guid>
        <pubDate>Sat, 05 Aug 2006 15:33:25 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205735</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205731'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>polyglott &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T15:28:58+00:00">05.08.06, 15:28</time></span><div class='quote '>Ну там всякие квалификаторы-шмалификаторы, типа const, static, auto, extern...</div></div><br>
Понятно.<br>
<br>
Но квалификаторами являются только const и volatile. Остальное - спецификаторы.  ;)]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205731</guid>
        <pubDate>Sat, 05 Aug 2006 15:28:58 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205731</link>
        <description><![CDATA[polyglott: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T14:40:36+00:00">05.08.06, 14:40</time></span><div class='quote '>А как её сделать нестатической тогда? Написать nostatic int g;, что ли? </div></div><br>
Да, я ступил.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205689'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T14:40:36+00:00">05.08.06, 14:40</time></span><div class='quote '>Без каких квалификаторов</div></div><br>
Ну там всякие квалификаторы-шмалификаторы, типа const, static, auto, extern...]]></description>
        <author>polyglott</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205689</guid>
        <pubDate>Sat, 05 Aug 2006 14:40:36 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205689</link>
        <description><![CDATA[Hryak: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205540'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>polyglott &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T11:40:51+00:00">05.08.06, 11:40</time></span><div class='quote '>Если объявляешь переменную вне функции без квалификаторов, то переменная поумолчанию делается статической.</div></div><br>
Без каких квалификаторов?  :wacko: <br>
А как её сделать нестатической тогда? Написать nostatic int g;, что ли?  :lol: <br>
<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Интересно, а если в третьем модуле будет extern ссылка на переменную которая содержится одновременно в двух других модулях, то из какого модуля она залинкуется? </div></div><br>
Ни из какого. Линковка не пройдет.]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205604</guid>
        <pubDate>Sat, 05 Aug 2006 12:51:53 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205604</link>
        <description><![CDATA[J0hn: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205529'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>GreenGen &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T11:28:54+00:00">05.08.06, 11:28</time></span><div class='quote '>Привет всем&#33;<br>
У меня тут вопрос вроде бы простой возник : Чем отличаются статические(static) глобальные переменные от простых глобальных переменных.</div></div><br>
<br>
<strong class='tag-b'>Статические переменные</strong><br>
Статические переменные, в отличие от глобальных, неизвестны вне своей функции или файла, и сохраняют свои значения между вызовами. Это очень полезней создании обобщенных функции и библиотек функций, которые могут использовать другими программистами. Статические переменные отличаются как от локальных, так и от глобальных переменных.<br>
<strong class='tag-b'>Локальные статические переменные</strong><br>
Если локальная переменная объявлена с помощью спецификатора static, компилятор выделит для нее постоянное место хранения, как и для глобальной переменной Принципиальное отличие локальной статической переменной от глобальной состоит в том, что первая остается доступной лишь внутри своего блока. Проще говоря, локальная статическая переменная — это локальная переменная, сохраняющая свои значения между вызовами функции.<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 series(void)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;static int series_num;</div><div class="code_line">&nbsp;&nbsp; &nbsp;series_num = series_num+23;</div><div class="code_line">&nbsp;&nbsp; &nbsp;return series_num;</div><div class="code_line">}</div></ol></div></div></div></div><br>
В этом примере переменная series_num продолжает существовать между вызовами функции, а локальная переменная каждый раз создавалась бы при входе и уничтожалась при выходе из функции. Таким образом, каждый вызов функции series () порождает новый элемент ряда, используя предыдущее значение и не прибегая к глобальной переменной.<br>
Локальную статическую переменную можно инициализировать. Начальное значе¬ние присваивается лишь один раз, а не при каждом входе в блок, как это происходит с локальными переменными. Например, в приведенной ниже версии функции se¬ries () переменная eeries_num инициализируется числом 100.<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 series(void)</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; static int series_nuiti = 100;</div><div class="code_line">&nbsp;&nbsp; series_num = series_num+23;</div><div class="code_line">&nbsp;&nbsp; return series_num;</div><div class="code_line">}</div></ol></div></div></div></div><br>
Теперь ряд будет всегда начинаться с числа 123. Хотя во многих приложениях это вполне приемлемо, обычно генераторы чисел предоставляют пользователю право выбора начального значения. Для этого можно сделать переменную series_num глобальной. Однако именно для того, чтобы избежать этого, и были созданы статические переменные. Это приводит ко второму способу использования статических переменных.<br>
<strong class='tag-b'>Глобальные статические переменные</strong><br>
Применение спецификатора static к глобальной переменной заставляет компилятор создать глобальную переменную, видимую только в пределах текущего файла. Несмотря на то что эта переменная остается глобальной, в других файлах она не существует. Следовательно, изменить ее значение путем вмешательства извне невозможно. Это предотвращает побочные эффекты. В некоторых ситуациях, в которых локальные статические переменные оказываются недостаточными, можно создать небольшой файл, содержащий лишь функции, которые используют конкретную глобальную статическую переменную, отдельно скомпилировать его и применять без риска возникновения побочных эффектов.<br>
Чтобы проиллюстрировать применение глобальной статической переменной, перепишем генератор чисел из предыдущего раздела таким образом, чтобы начальное значение задавалось при вызове функции series_start(). Весь файл, содержащий функции eeriest), series_start () и series_num(), показан ниже.<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">/* Все функции должны находиться в одном и том же файле. &nbsp;*/</div><div class="code_line">static int series_num;</div><div class="code_line">void series_start(int seed);</div><div class="code_line">int series(void);</div><div class="code_line">&nbsp;</div><div class="code_line">int series(void) {</div><div class="code_line">&nbsp;&nbsp; series_num = series_num+23 ;</div><div class="code_line">&nbsp;&nbsp; return series_num;</div><div class="code_line">}</div><div class="code_line">/* Инициализация переменной series_num */</div><div class="code_line">void series_start(int seed) {</div><div class="code_line">&nbsp;&nbsp; series_num = seed;</div><div class="code_line">}</div></ol></div></div></div></div><br>
Вызов функции series_start() инициализирует генератор чисел. После этого следующий элемент ряда порождается новым вызовом функции seriesO.<br>
К сведению: локальные статические переменные видимы лишь в пределах блока, где они объявлены, а глобальные статические переменные — в пределах файла. Если поместить функции series() и series() и start() в библиотеку, то переменная series_num станет невидимой. Более того, в программе можно объявить новую переменную series_num (разумеется, в другом файле). По существу модификатор static позволяет создавать переменные, видимые лишь в пределах функций не порождая побочных эффектов.<br>
Модификатор static позволяет скрывать часть программы от других модулей Это чрезвычайно важно при разработке больших и сложных программ.<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">2 GreenGen, надеюсь я заслужил + &nbsp;:lol:</div></ol></div></div></div></div>]]></description>
        <author>J0hn</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205599</guid>
        <pubDate>Sat, 05 Aug 2006 12:45:19 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205599</link>
        <description><![CDATA[kalexs_uzb: Объявляя глобальную переменную статической ее нельзя будет вызвать извне данного модуля.]]></description>
        <author>kalexs_uzb</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205555</guid>
        <pubDate>Sat, 05 Aug 2006 11:57:54 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205555</link>
        <description><![CDATA[grustnoe: ну так столкнись :) проверь - минутное дело]]></description>
        <author>grustnoe</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205540</guid>
        <pubDate>Sat, 05 Aug 2006 11:40:51 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205540</link>
        <description><![CDATA[polyglott: Если объявляешь переменную вне функции без квалификаторов, то переменная поумолчанию делается статической. <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="2006-08-05T11:51:47+00:00">05.08.06, 11:51</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=150484&view=findpost&p=1205536'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Hryak &#064; <time class="tag-quote__quoted-time" datetime="2006-08-05T11:38:02+00:00">05.08.06, 11:38</time></span><div class='quote '>Т.е. в разных модулях могут быть переменные с одинаковым именем. Для нестатических переменных такое не прокатит. </div></div><br>
Что-то я не сталкивался с таким. Интересно, а если в третьем модуле будет extern ссылка на переменную которая содержится одновременно в двух других модулях, то из какого модуля она залинкуется? <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="2006-08-05T11:56:47+00:00">05.08.06, 11:56</time></span></span><br>
Я замечал только одно отличие - если объявить переменную со словом static и не использовать её, то компилятор выдаёт предупреждение &quot;not referenced&quot;.]]></description>
        <author>polyglott</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205536</guid>
        <pubDate>Sat, 05 Aug 2006 11:38:02 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205536</link>
        <description><![CDATA[Hryak: Тем же, чем статические функции (не методы класса) отличаются от просто функций - они имеют internal linkage.<br>Т.е. в разных модулях могут быть переменные с одинаковым именем. Для нестатических переменных такое не прокатит.]]></description>
        <author>Hryak</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205529</guid>
        <pubDate>Sat, 05 Aug 2006 11:28:54 +0000</pubDate>
        <title>Простой вопрос про static</title>
        <link>https://forum.sources.ru/index.php?showtopic=150484&amp;view=findpost&amp;p=1205529</link>
        <description><![CDATA[GreenGen: Привет всем&#33;<br>У меня тут вопрос вроде бы простой возник : Чем отличаются статические(static) глобальные переменные от простых глобальных переменных.]]></description>
        <author>GreenGen</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	