Аполло́н (, ) — в древнегреческой и древнеримской мифологиях бог света (отсюда его прозвище Феб — «лучезарный», «сияющий»), покровитель искусств, предводитель и покровитель муз, предсказатель будущего, бог-врачеватель, покровитель переселенцев, олицетворение мужской красоты. Один из наиболее почитаемых античных богов. В период Поздней Античности олицетворяет Солнце. Согласно множеству античных мифов — сын Зевса и Лето. В возрасте нескольких дней победил живущего на горе Парнас змея Пифона. Рядом с этим местом расположился город Дельфы, который древние греки считали центром мира. Дельфийский оракул — наиболее почитаемое святилище, в котором от имени Аполлона давали пророческие ответы. Контроль над этим городом, спекуляции относительно трактовок «прорицаний Аполлона» стали весомым политическим фактором в Элладе. О важности этого бога свидетельствуют количество праздников, оракулов и храмов в честь Аполлона, название многих месяцев в календаре в честь той или иной его ипостаси. После завоевательных походов Александра Македонского культ Аполлона распространился вплоть до Индостана. В Римской республике его культ был принят в V веке до н. э. Пик его почитания приходится на время правления Октавиана Августа. Римский император выстроил стройную идеологическую систему наступления «золотого века», гарантами которого являются император и Аполлон. Образ Аполлона весьма распространён в изобразительном искусстве в качестве идеала мужской, юношеской красоты. Мифологические сюжеты находят отображение в скульптурах и картинах наиболее известных мастеров Античности, Ренессанса и Нового времени, таких как Пракситель, Рафаэль, Тинторетто, Лукас Кранах Старший и другие. Статуя «Аполлон Бельведерский», по мнению «отца истории искусств» Иоганна Винкельмана, является «высшим идеалом искусства среди всех произведений древности». Изображение Аполлона в окружении муз и величайших поэтов находится в одном из центральных залов Папского дворца в Ватикане рядом с другими всемирно известными фресками Рафаэля. Античные представления об Аполлоне нашли отображение в философии Нового и Новейшего времени. Любая культура, по мнению Фридриха Ницше, представляет собой сочетание «аполлоновского» разумного и «дионисийского» инстинктивного начал. Этимология и происхождение Существует несколько версий об этимологии имени и происхождении культа Аполлона. При дешифровке хеттской клинописи, а именно договора царя Вилусы Алаксандуса с Муваталлисом II, был найден набор иероглифов, чередующийся с изображением, напоминающим ворота, и прочитанный как Апулунас или Аппалиунас. На основании этого было сделано предположение, что имя бога произошло от вавилонского abullu «ворота», что в сочетании с такими эпитетами Аполлона, как Агией («Уличный») и Феарий или Фирей («Дверной») свидетельствует о вавилонском происхождении древнегреческого бога. В последующих научных работах гипотеза была отвергнута. Ещё одна из версий связывает Аполлона с хеттским богом плодородия Телепину на основании сходства с эпитетом Дельфиний. Это предположение также подвергнуто критике. Российские историки и филологи Л. А. Гиндин и В. Л. Цымбурский пришли к выводу о том, что изначально Аполлон был верховным богом Трои, откуда его культ распространился среди малоазийских племён, о чём также свидетельствует его описание в «Илиаде» Гомера в качестве главного божественного защитника Троады. Филологи, которые рассматривали версии происхождения имени древнегреческого бога, отмечали, что этимология слова неизвестна. Филолог и лингвист Ю. В. Откупщиков связывал его происхождение с «отвращающий» (волков, мышей, саранчу — в зависимости от эпитета). На этом основании он предполагал фракийские истоки культа Аполлона. Ещё одна версия получила обоснование в работах швейцарского антиковеда В. Буркерта. Согласно ей культ Аполлона имел дорийское происхождение, и его истоки находились на Пелопоннесе. Данное предположение встречается ещё у Плутарха, который связывал имя бога и «собрание». Таким образом, в XXI веке рассматривают три версии о первоначальном происхождении культа Аполлона — малоазийская, северная фракийская и дорийская, каждая из которых имеет своих сторонников и критиков. Представления об Аполлоне. Функции Архаическая Греция Изначально Аполлон был неодушевлённым фетишем, который в виде обелиска, камня или колонны помещали перед входными дверями. Эти предметы «уличного» или «дверного» Аполлона в сознании людей являлись источником полезных для человека действий. Из растений, с которыми связывали Аполлона, выделяют лавр, кипарис, дуб и некоторые другие. Также Аполлона связывали с вороном, журавлём, коршуном и лебедем. По прошествии времён фетишизма, магизма и мантики лебедя стали воспринимать как символ поэзии и музыки, которые олицетворял Аполлон. Из морских животных в мифах об Аполлоне фигурирует дельфин. Культ Аполлона Дельфиния был широко распространён среди ионян. Ящерица, лягушка и жаба фигурируют в мифах об Аполлоне в связи с их мантическим и хтоническим значениями. Образ Аполлона Савроктона («Ящеробойцы») свидетельствует о борьбе героизма с хтонизмом в конце архаического — начале классического периода древнегреческой истории. Это прослеживается в мифах об убийстве Пифона, гигантов и циклопов. Эпитет Сминфей («мышиный») упоминается в самом начале «Илиады» Гомера. В зависимости от контекста Аполлона представляли либо как уничтожителя, либо как повелителя этих грызунов. С развитием сельского хозяйства в греческой мифологии появилось божество плодородия Карн, которое затем стали отождествлять с Аполлоном, получившим эпитет Карнейского. Этот культ получил распространение на Пелопоннесе, Родосе и Крите. Архаическая стихийно-материальная сущность Аполлона предполагала и определённые его функции. Связь с землёй и сельским хозяйством находит отображение в мифах об Аполлоне-пастухе. Связь Аполлона Агрея с охотой в классический период игнорируют. Она уходит в те времена, когда охота была одним из основных средств существования человека. Впоследствии, когда она стала лишь одним из занятий, то её богиней почитали сестру Аполлона Артемиду. Лук и стрелы у Аполлона являются рудиментами охотничьей архаики, преобразованными впоследствии в украшение и героический атрибут. Аполлона часто представляли в качестве бога-целителя и одновременно бога-губителя. О первой ипостаси свидетельствуют такие эпитеты, как Алексикакос («Отвратитель зла»), Апотропей («Отвратитель»), Простат («Предстатель», или «Заступник»), Иатромант («Врачегадатель», врач), Акесий («Целитель»), и факт отцовства Асклепия, бога врачевания. О второй, губительной, говорят часто встречаемые эпитеты, связанные со стрельбой из лука: Гекат, Гекаэрг, Гекатебол и другие, а также Ликеген («Потрясатель народов»). Его власть также простиралась на море, сушу и космические явления. С одной стороны, он являлся богом Солнца, одновременно морским божеством с эпитетом Дельфиний, покровителем мореплавания, а также богом берегов и прибрежных скал. Одновременно Аполлон — бог света, в связи с чем и получил свой наиболее распространённый эпитет Феб («Лучезарный», «Сияющий»). Классическая Греция Из всех олимпийских божеств Аполлон известен нам преимущественно на той стадии развития общества, когда стали выделять человеческую личность из окружающей её действительности. Он представляет классический героизм, противопоставляемый периоду, когда человек был слишком слаб, чтобы противостоять силам стихии. В этот период Аполлон становится божеством различных племён и колонизации как таковой. Каллимах приписывал ему основание множества городов. Его именем назвали колонии-поселения выходцев из Эллады, такие как, к примеру, Аполлония Иллирийская, Аполлония Понтийская, Аполлония Киренская и другие. Одновременно он бог юности, различного рода гимнастических состязаний, музыки, танца и искусства как такового. К его окружению стали причислять богинь веселья и радости жизни харит, а также покровительниц искусств и наук муз. Один из его эпитетов, Мусагет, означает «предводитель муз». Также ему свойственны прикладные ремёсла. В представлениях об Аполлоне нашли отображение тенденции к соединению воедино морали, искусства и религии. Так, к примеру, пифагорейцы, связывающие своё учение с Аполлоном, проповедовали особый аскетизм, физические тренировки в сочетании с занятиями музыкой и научными изысканиями. Гармония физического и духовного развития человека представляет в понимании философов О. Шпенглера и Ф. Ницше т. н. «аполлоновского человека». На той почве в Элладе даже сформировался миф о Гиперборее, которую периодически посещает Аполлон. Эта страна являлась своего рода родиной идеального общества, чья жизнь основана на моральных нормах, связанных с этим олимпийским богом. Гипербореи заняты преимущественно музыкой, танцами, пирами, весельем и молитвами. Одновременно с приданием новых функций быстро развивающегося древнегреческого общества Аполлон сохранил и свои архаические черты. Наиболее отчётливо это прослеживается в придании ему функции вещать веления Зевса и Земли в Дельфийском оракуле. Эллинистическая Греция, Средиземноморье и Азия Культ Аполлона проник и в другие города и государства Средиземноморья. Так, в трудах древнеримского историка Курция Руфа приведены сведения об особом почитании этого бога в финикийском городе Тире. Согласно Геродоту египтяне отождествляли с Аполлоном сына Исиды Гора, а согласно Клавдию Элиану (170 — после 222) он уже почитается в Египте под своим именем, и ему посвящают воронов и ястребов. Особое покровительство культу Аполлона оказывал полководец Александра Македонского и основатель государства Селевкидов Селевк I Никатор. Этот правитель даже объявил себя сыном Аполлона. В оракул Дидимы возвратили статую бога, которую персы перевезли в Сузы во время Ионийского восстания 499—493 годов до н. э. В дальнейшем его почитали своим покровителем все последующие Селевкиды. Статуи Аполлона, привезённые войсками Александра Македонского в Гандхару, стали прототипами изображений Будды.


wikipedia

Греческие художники и скульпторы стремились изобразить идеальное обнажённое тело божества. Буддийские художники, взяв за основу образ Аполлона, который почитался правителями Греко-Бактрийского и Индо-Греческого царств, существенно его видоизменили. Они намеренно «округлили» мускулистое тело, дополнили образ своего бога «слоновьими ушами» и рядом других анималистических признаков, в результате чего и получилось классическое изображение Будды. В эпоху эллинизма образ Аполлона несколько модифицируется в представлениях древних греков. Его начинают воспринимать как аллегорический образ Солнца и огня. Греческие философы и риторы IV—V веков Прокл и Гимерий выдвигают на первый план символику вечной молодости и артистизма. Для этой эпохи характерным становится мифологический нигилизм. Не избежал общей тенденции и культ Аполлона. Названное по имени философа Эвгемера учение эвгемеризм предполагало, что боги являются не небожителями, а их культ возник из трансформации представлений о реальных людях. В подразделе об эвгемеристических толкованиях мифов приведено шесть версий происхождения Аполлона. Древние греки и римляне преимущественно считали данное направление порочным. Древнегреческий писатель Лукиан Самосатский представляет олимпийских богов в качестве обычных людей со свойственными им недостатками. Так, в «Разговорах богов» Аполлон завидует Гефесту, а также подвергается уничижительной критике со стороны Геры. О вырождении мифологии Аполлона в эпоху Поздней Античности свидетельствуют дошедшие до наших дней эпиграммы, в которых вор, выкрадывая статую Аполлона, сравнивает своё ремесло с пророчествами бога и говорит, что статуя ничего плохого ему не сделает, так как он скоро её продаст. В другой эпиграмме Аполлон жалуется на недостаток жертвенного дыма из-за того, что жрец крадёт приносимые божеству жертвы. В орфическом гимне «К Аполлону» после перечисления множества эпитетов бога находят отображение идеи пифагореизма, где Аполлон представлен в качестве правителя мира, с которым он обращается как с лирой, достигая в нём гармонии. В этом контексте в период Поздней Античности возникла тенденция создания языческого монотеизма в противовес христианству. В нём Аполлону отводили одну из ведущих ролей, либо в качестве принципа равновесия, меры, порядка и гармонии, либо отождествляя его с Солнцем и светом. Древний Рим Мнения антиковедов относительно того, откуда в Рим проникло представление об Аполлоне, расходятся. Среди возможных источников культа Аполлона в Риме называют Кумы, этрусские города, в которых существовал родственный Аполлону культ бога-пастуха и врачевателя Аплу, а также Дельфы. Первое его святилище построили на Фламиниевом лугу на Марсовом поле, так как культовые сооружения чужеземным богам можно было возводить исключительно вне померия. В 433 году до н. э. в городе разразилась эпидемия чумы. Дуумвиры, корпевшие над трактовкой сивиллиных книг, пришли к выводу, что для спасения Рима необходимо построить храм Аполлону. Здание возвели на месте первого святилища в 431 году до н. э. Оно стало местом, где специальная жреческая коллегия занималась трактовкой книг пророчеств кумской сивиллы. Первый храм Аполлона Врачевателя («Medica») оставался единственным, посвящённым данному богу в Риме, вплоть до правления Октавиана Августа. После череды загадочных смертей известных римлян в 180 году до н. э. в столице установили позолоченные статуи Аполлона, Эскулапа и Здоровья (Салюс). Переосмысление роли Аполлона в Древнем Риме произошло во времена Октавиана Августа и было тесно связано с официальной политикой. Олимпийский бог стал покровителем императора, а впоследствии ему даже стали приписывать отцовство Августа. Религиозные реформы в начале правления Августа были построены вокруг культа Аполлона и сивиллиных пророчеств. На государственном уровне пропагандировали идею наступления «золотого века» и царства Аполлона, гарантами которых выступали олимпийский бог и император. Эта теория сочеталась с моральной добродетелью пиетас, предполагавшей почтение к богам, стране, родителям и предкам, а также лично к Августу как отцу отечества («Pater Patriae»). В данном случае функцией Аполлона стало объединение римского общества и примирение религиозных, политических и социальных антагонизмов. Близкие Аполлону патрицианские культы богов капитолийской триады Юпитера, Юноны и Минервы не только не противоречили связям этого божества с культом почитаемой среди плебеев и рабов Дианы, но и сливались в единую стройную систему религиозных верований в качестве залога счастья и могущества Рима. Причинами, по которым Октавиан считал своим заступником именно Аполлона, называются сходство этого бога с Вейовисом, патроном рода Юлиев, и покровительство Аполлона Энею — мифическому прародителю этого рода. В 36 году до н. э. молодой правитель Рима освятил храм Аполлона Палатинского, который вскоре стал одним из самых популярных святилищ в Риме. На его дверях изобразили сцены битвы при Акции и мифологические сюжеты, связанные с Аполлоном. В храме стояла статуя бога с чертами императора. Культ Августа-Аполлона противопоставлялся Антонию-Вакху. Информация о почитании Аполлона у соседей римлян галлов имеется в «Записках о Галльской войне» Гая Юлия Цезаря. В части, где римский полководец даёт описание верований этого народа, Цезарь приводит не их местные имена, а отождествляет с римскими богами. В функции аналога Аполлона у галлов Белена входило излечение от болезней. Раннее христианство Своим вниманием Аполлона не обошли ранние христиане, которые вели идеологическую борьбу с язычеством. Отрицательное отношение к этому олимпийскому богу эволюционировало от примитивного издевательства до понимания античной мифологии как предшественницы христианства и как своего рода аллегории. Тертуллиан презрительно говорил о рабской службе Аполлона у Адмета, двусмысленных и соответственно бесполезных и заведомо правильных оракулах, бессилии защитить свои святилища от разграбления. Арнобий указывал на отсутствие Аполлона в списке молитв Нумы Помпилия (715—673 годы до н. э.), что, по его мнению, свидетельствовало о том, что это не древнее божество, а выдумка. Правоту Арнобия исследователь А. Ф. Лосев видит в том, что имя Аполлона не было римского происхождения, а было привнесено из Греции. Также Арнобий как раннехристианский автор подчёркивал невероятное количество возлюбленных божества, а также противоречие между званием бога и Аполлоном — слугой ряда персонажей. Лактанций трактовал Аполлона в качестве демона и Люцифера в христианском смысле этого слова, что, по его мнению, доказывали особенности процесса прорицаний в оракулах. Одновременно он использовал эвгемеристические толкования мифов, преподносил Аполлона в качестве обожествлённой, неизвестно конкретно какой исторической личности из далёкого прошлого. Не обошёл своим вниманием Аполлона и один из Отцов Церкви Блаженный Августин. Он подчёркивал ничтожество языческого бога, который был вынужден работать слугой у людей, его бессилие защитить греков, бессмысленность ответов оракулов. По мере того, как язычество перестало представлять реальную угрозу для христианства, апологеты последнего стали относиться к Аполлону не как к реальному демону, а как к вымышленному персонажу античной мифологии, аллегории и источнику историй, несущих поучительные мысли. Оракулы Культ Аполлона был распространён в Греции повсеместно. Во многих храмах Аполлона находились оракулы — святилища, в которых от имени Аполлона давали пророческие ответы на задаваемые вопросы. Большинство античных древнегреческих оракулов связывали с Аполлоном. Наиболее известный из них находился в Дельфах. Согласно античным источникам пифия сидела на треножнике перед расщелиной в скале, из которой выходили испарения. Они приводили жрицу в экстатическое состояние, во время которого она и передавала «ответ бога» в виде бессвязных слов. Жрецы придавали им весьма витиеватую стихотворную форму, предполагавшую двоякие толкования. Так, например, царю Лидии Крёзу накануне войны с царём Персии Киром II Великим пифия предсказала, что если он начнёт войну, то погубит царство. Правитель Лидии перешёл со своими войсками приграничную реку Галис, потерпел поражение и в результате погубил своё царство. Филипп II Македонский умудрился выполнить оба толкования пророчества, в результате чего достиг желаемого. Он, будучи молодым человеком, обратился за советом к Аполлону через пифию о том, как стать повелителем всей Греции. Ответ звучал так: «Сражайся серебряными копьями, и ты везде победишь». При этом македонском царе в фаланге стали использовать длинные копья сариссы. Одновременно, наладив финансовые дела в государстве, Филипп II активно использовал золото и серебро для подкупа. Ему приписывают фразу «Так ли уж труднодоступно, чтобы не прошёл и осёл с грузом золота?». В античной истории был даже случай спекуляции и политической борьбы вокруг предсказания пифии. Незадолго до вторжения войск империи Ахеменидов под руководством Ксеркса на территорию Аттики афиняне отправили послов в Дельфы, чтобы узнать о своём будущем у Аполлона. Полученный ответ предвещал неминуемую гибель. Это естественно смутило афинян, и они отважились на повторное обращение к оракулу, но уже в качестве «умоляющих бога о защите». Последующий ответ пифии на первый взгляд оказался не намного лучшим. Однако оракул содержал слова, которые затем использовал афинский стратег Фемистокл для того, чтобы убедить сограждан не падать духом, а продолжить борьбу, переселившись на остров Саламин: Фемистокл настоял на том, что «деревянные стены» — афинские корабли, а «гибель сыновей» относится к персам, так как в ином случае оракул сказал бы «несчастный Саламин», а не «божественный». Последующие археологические раскопки, а именно нахождение глиняных табличек с декретами Фемистокла, подтвердили правдивость слов античных классиков.


Кроме Дельфийского, оракулы Аполлона существовали в Дидимах, Кларосе, Троаде, в Гринейской роще в Эолиде, Патара, Делосе, Кианее в Ликии, Абах, Фивах, в храме Аполлона Птойского у подошвы горы Птой близ города Акрефии и множестве других мест. Описание процесса пророчества у Кумской сивиллы содержится в «Энеиде» Вергилия: Последним предсказанием оракула от имени Аполлона стало прорицание пифии императору Юлиану Отступнику (361—363) о том, что больше предсказаний не будет. Праздники В честь Аполлона в Древней Греции проводили многочисленные праздники, сопровождавшиеся зачастую спортивными играми. К таковым относятся: Боэдромии — приходились на седьмой день третьего месяца аттического календаря боэдромиона. Праздновали их в Афинах, Фивах и ряде других городов; Карнеи — главный дорийский праздник, особо почитаемый в Спарте, в честь Аполлона Карнейского. Праздновали ежегодно, в течение 9 дней, ближайшее время после летнего солнцестояния. Одновременно со спортивными проводили и музыкальные состязания, а также театральные постановки. Согласно античным представлениям происхождение праздника, равно как и эпитета Аполлона, связано со жрецом Карном. Во время похода его заподозрили в измене и убили. В отместку Аполлон наслал на войско мор. Дабы умилостивить бога, и были проведены первые Карнейские игры. Согласно современным представлениям Карн изначально был самостоятельным мифологическим персонажем, ответственным за урожай и сельскохозяйственные работы, чей образ впоследствии отождествили с Аполлоном; — праздник, который отмечали раз в 9 лет в Дельфах, как память о покаянии Аполлона за убийство Пифона. Праздничную процессию возглавлял мальчик с оливковой ветвью, обвитой лавровыми венками и цветами. К ней также прикрепляли шарики, символизирующие Солнце, Луну и планеты; Таргелии — праздник в честь Аполлона и Артемиды в Афинах в день их предполагаемого рождения; — праздник на священном острове и предполагаемом месте рождения Аполлона Делосе. Особенностью данного фестиваля был его проафинский характер. Он являлся частью политики этого полиса по обоснованию своего владычества в Эгейском море. Праздник готовили афинские магистраты. Предположительно в месяце таргелионе на острове проходили выступления хоров, жертвоприношения, пиршества и спортивные игры во славу Аполлона. После освобождения Делоса от афинского влияния Делии были прекращены. Вновь их стали проводить уже в эпоху римского владычества; — трёхдневный праздник в Амиклах, связанный с мифом об Аполлоне и Гиацинте. Во время фестиваля юноши с кифарами пели песни, прославляющие Аполлона; Пифийские игры проходили в Дельфах с периодичностью раз в четыре года (вначале раз в восемь лет). Они включали как состязание музыкантов, так и атлетические игры, а также гонки колесниц:17—20. В Древнем Риме начиная с 212 года до н. э. ежегодно проводили Аполлинарии. Согласно преданию, во время Второй Пунической войны были найдены книги пророка Марция, в которых содержалось утверждение: «Если желаете, римляне, изгнать врага, эту чуму, издалека пришедшую, надо, думаю, посвятить Аполлону игры; да повторяются они ежегодно, Аполлону приятные». Один день в году в Большом цирке происходили гонки колесниц. В этот же день совершали жертвоприношения, проводили праздничные пиры и возносили мольбы к лучезарному богу. Основные мифы Рождение и детство. Дети Ниобы. Битвы с различными чудовищами и великанами Аполлон был сыном Зевса и Лето. Мучимая ревностью жена верховного бога Гера преследовала беременную Лето по всей земле, пока та не попала на остров Делос. Согласно другому мифу Лето по наущению Геры преследовал змей Пифон. Бог морей Посейдон помог добраться роженице на остров, который закрыл волнами. Змей вернулся на гору Парнас, у подножия которой располагался Дельфийский оракул. На Делосе на горе Кинф Лето разрешилась от бремени Артемидой, которая затем помогла родиться брату Аполлону. Младенца вскормила нектаром и амброзией богиня правосудия Фемида, а по версии, изложенной у Плутарха, кормилиц было двое — богиня правды и Кориталея. Гефест принёс в подарок Аполлону лук и стрелы. Через несколько дней после рождения Аполлон прибыл на Парнас, где поразил подаренными Гефестом стрелами Пифона, отчего получил эпитет Пифийский. Кости змея он положил в треножник и основал Пифийские игры. В четырёхлетнем возрасте Аполлон построил на месте своего рождения на острове Делос алтарь из рогов ланей, подстреленных Артемидой. Аполлон разыскал козлоногого бога пастухов Пана, от которого научился прорицанию. После того, как Дельфы и расположенный в них оракул стали владениями Аполлона, к нему прибыли сестра Артемида и мать Лето. Там её пытался, согласно одному из мифов по наущению Геры, обесчестить великан Титий. Аполлон и Артемида вовремя пришли на помощь к матери и пронзили его стрелами. Ещё раз они заступились за мать, когда Ниоба, имевшая множество детей, разгневала Лето разговорами о том, насколько она плодовитее и насколько её дети прекраснее и лучше. Рассерженная богиня пожаловалась Аполлону и Артемиде, которые стрелами умертвили всех детей Ниобы. Погиб также и муж Ниобы Амфиона, которого либо застрелили вместе с детьми, либо поразил Аполлон, когда тот в отместку захотел разорить святилище божества. Аполлон участвовал в битве олимпийских богов с гигантами, убив одного из них, Эфиальта, или, по другой версии, Порфириона, стрелой. По другой версии, Эфиальт и От — могущественные братья-алоады — стали угрожать богам взгромоздить на Олимп другую гору, заковали в цепи бога войны Ареса и потребовали себе в жёны Геру и Артемиду. Аполлон, согласно одним мифам, пронзил их стрелами, а по другим — направил между ними быструю лань. Алоады, пытаясь её поразить копьями, попали друг в друга. Во время, когда из Тартара вышел Тифон, олимпийские боги были вынуждены на время бежать в Египет. Среди прочих был и Аполлон, превратившийся в ворона или ястреба. Также он очистил Родос от пребывающих на нём тельхинов, приняв образ волка. Гиперборея С Аполлоном тесно связано представление о северной идеальной стране Гиперборея, в которую бог отправляется из Дельф на колеснице, запряжённой лебедями, в зимние месяцы. Там он, по одному из мифов, оплакал своего сына Асклепия. Слёзы бога превратились в янтарь. С этой страной его связывает происхождение матери Лето либо богини родовспоможения Илифии, прибывшей оттуда специально для помощи Лето. По одному из мифов, был женат на дочери царя гипербореев Фемисто. У пары родилось два сына — Тельмисс и Галеот. Впоследствии они в качестве первых прорицателей направились на Сицилию и в Карию, где основали святилища с оракулами Аполлона. Аполлон на службе у Адмета Согласно трагедии «Алкеста» Еврипида, сын Аполлона Асклепий воскресил человека, чем вызвал гнев Зевса, поразившего его молнией. После того как Аполлон убил в отместку циклопов, которые помогали Гефесту ковать зевсовы молнии, Зевс был готов изгнать своего сына в Тартар. Лето смогла уговорить верховного бога смягчить наказание. Аполлона отправили служить пастухом у царя города Феры в Фессалии Адмета. Девять лет Аполлон пас стада Адмета на берегах реки Амфрис. В свой первый день рождения молодой бог Гермес вылез из люльки, покинул пещеру и похитил коров Аполлона. Когда последний обнаружил пропажу, то отправился на поиски и узнал о личности похитителя. Гермес отрицал свою вину, оправдываясь невозможностью совершить кражу в столь юном возрасте. Дело вынесли на суд Зевса. Верховный бог распорядился вернуть Аполлону коров. По пути Гермес начал играть на сконструированной им из панциря черепахи лире. Игра на музыкальном инструменте настолько поразила Аполлона, что в обмен на неё он отдал Гермесу своё стадо. Расстались оба бога друзьями, дав клятвы друг другу о вечной дружбе. Также Гермес пообещал Аполлону, что больше никогда не украдёт ничего из его имущества. Аполлон любил Адмета. Когда царь Иолка Пелий объявил, что выдаст свою красавицу дочь Алкестиду замуж за того, кто сможет запрячь льва и дикого вепря в колесницу и проехать на ней по ипподрому, то Адмет обратился за помощью к Аполлону. Тот согласился помочь и с помощью Геракла укротил двух диких животных. Во время свадьбы Адмет забыл принести должные жертвы Артемиде. Разгневанная богиня то ли собиралась натравить, то ли натравила на незадачливого молодожёна змей, но благодаря заступничеству своего брата сменила гнев на милость и даже пообещала Адмету, что когда наступит его последний день, то смерть пощадит его, в случае если тот найдёт себе замену. Когда за Адметом через несколько лет пришёл демон смерти, то Аполлон вновь помог царю Фер. Он напоил богинь судьбы мойр. Старухи не смогли вовремя перерезать нить жизни Адмета. Воспользовавшись отсрочкой, он побежал к своим престарелым родителям, прося вместо него согласиться отправиться в царство смерти. Они, в свою очередь, наотрез отказались преждевременно умирать, сказав, что не устали наслаждаться жизнью. Тогда Алкестида решила отправиться в Аид вместо мужа. История закончилась счастливо. По одной версии, случайно оказавшийся в Ферах Геракл спас Алкестиду от смерти. По другой, богиня загробного мира Персефона оценила благородство поступка и отказалась принимать в свои владения душу благочестивой жены Алкестиды. Взаимоотношения с другими олимпийскими богами Согласно одному из мифов, сын Аполлона Эриманф подглядел за обнажённой Афродитой во время купания. За это рассерженная богиня ослепила юношу. Аполлон, в свою очередь, превратил сына в вепря, который растерзал любовника богини Адониса. Возлюбленные и потомство Аполлона Возлюбленных, как женщин, так и мужчин, у Аполлона было очень много. В большинстве мифов бог отличается некоторым пренебрежением к женщине, наравне с холодностью и незаинтересованностью в браке. Обычно возлюбленные не только терпели страдания от любви Аполлона, но и погибали от её последствий. Антиковед А. Ф. Лосев группирует объекты любви Аполлона следующим образом. К первой группе он относит мифы, являющиеся результатом желания тех или иных племён и городов видеть именно это божество своим родоначальником.


Так, через Иона и его мать Креусу Аполлон становится прародителем ионян, Синопу он похитил на месте одноимённого города Синопа и т. д. Особенности этих мифов состоят в игнорировании любовных мотивов, отсутствии или недостаточно красочной проработке сюжета. Соответствующие, согласно А. Ф. Лосеву, примеры приведены в комментарии. Второй тип любовных связей Аполлона также лишён ярких эротических мотивов, а повествования о них прославляют бога в качестве целителя, пророка, архитектора и строителя, стрелка из лука, как олицетворение красоты, искусств через детей, унаследовавших то или иное качество божественного родителя. К потомству этого типа можно отнести и тех прославленных мифологических поэтов, музыкантов и певцов, персонифицирующих таланты самого Аполлона. Даже некоторых реально существовавших великих поэтов и философов, таких как Гомер, Платон и Пифагор, могли относить к потомству Аполлона. К третьей группе Лосев причисляет гомосексуальные связи Аполлона. Античные источники приводят различные имена возлюбленных данной категории. Плутарх причисляет к любимцам Аполлона Форбанта, Гиакинфа, Адмета и Ипполита Сикионского, христианин Стефан Византийский записывает миф о возлюбленном бога Гилле, на месте гибели которого в Карии временами пребывает Аполлон. В различных античных источниках то возлюбленными, то детьми этого бога называют Бранха, Атимния, Иаписа, Кинира, Клароса, Потниея, Скефра, а также некоего Гименея, правнука Адмета. К четвёртой группе относят Гестию. Богиня семейного очага оказалась нечувствительной к чарам Афродиты и предпочла целомудрие любви, отвергнув всех добивавшихся её поклонников, включая Аполлона. Гестия была не единственной, кто отверг этого бога. По одному из мифов, Аполлон похитил Марпессу во время свадьбы. Жених Идас преследовал бога и, догнав его, вступил в бой. Схватку прекратил Зевс, предложив девушке самой выбрать возлюбленного. Марпесса благоразумно решила, что, когда наступит старость, Аполлон её бросит, и предпочла смертного Идаса. Также данный бог сватался к Персефоне, но был отвергнут. Он преследовал неких и амазонку Грину, которые предпочли броситься в море вместо покорения богу красоты. Касталия избежала погони со стороны Аполлона, превратившись в источник на горе Парнас, вода из которого впоследствии использовалась в ритуальных целях в Дельфах. Пятую группу составляют мифы с явно выраженным хтонизмом. К таковому потомству следует отнести корибантов и куретов, к которым Аполлон пришёл на помощь во время битвы с Мелеагром, поразив последнего стрелой, а также согласно некоторым античным источникам — Пана. Согласно Диодору Сицилийскому сыновьями этого бога были также Кентавр и Лапиф. В данных случаях Аполлон фигурирует в качестве хтонического демона, а не олимпийского божества. К шестой группе относят мифы, связанные с той или иной стихией. Возлюбленные бога гибнут вследствие того или несчастного случая, тем самым являя неподчинённость природы Аполлону. Наиболее известными являются мифы о Гиакинфе, Дафне, Кипарисе и Дриопе. В одном из мифов Аполлон убивает брата похищенной им Мелии Каанфа, сына Океана, за то, что тот дерзнул поджечь священный участок олимпийского бога. Седьмую группу составляют мифы о тех простых смертных женщинах, которые захотели стать на одну плоскость с Аполлоном и проявили свой характер. К ним относят мифы о Марпессе, Корониде и Кассандре. Аполлон и Гиацинт В спартанского принца Гиацинта влюбились певец Фамирид и Аполлон. Певец решился на состязание с музами. После проигрыша богини искусств и наук лишили его зрения, а также дара пения и игры на кифаре. Неудачный вызов музам Фамирида избавил Аполлона от соперника. По одной из версий, описанной у Палефата, к юноше также воспылал любовью один из богов ветра Зефир. Во время игры в диск с Аполлоном мучимый ревностью Зефир перенаправил снаряд бога в Гиацинта. По другой версии, юноша погиб, пытаясь поймать брошенный Аполлоном диск, по третьей — попадание было случайным. Из крови умирающего Гиацинта вырос цветок, названный по его имени. Аполлон и Дафна Вскоре после победы над Пифоном гордый Аполлон оскорбил Купидона, подтрунив над ненадёжностью его стрел. За это божество любовного влечения отправило острую стрелу в Аполлона, а тупую, вызывающую антипатию к противоположному полу, в нимфу Дафну. Все ухаживания Аполлона оказались тщетными. В конечном итоге обуянный желанием бог стал преследовать Дафну. Когда он её догнал, то нимфа взмолилась, обратившись с просьбой к родителям защитить её. В тот же миг она превратилась в лавровое дерево. Тогда Аполлон сделал лавр своим излюбленным растением, которое стало неразрывно связанным с ним. Вечнозелёное растение стало атрибутом бога, в связи с чем именно лавровые венки возлагали на голову победителя в Пифийских играх, а также триумфатора в Древнем Риме. Аполлон и Кипарис Кипарис был возлюбленным Аполлона. Молодой человек приручил красивого оленя, которому оплетал цветами рога, водил на водопой. В один из дней он случайно смертельно ранил своего питомца. Скорбь Кипариса была настолько большой, что даже Аполлон не смог его утешить. Вняв просьбам юноши, олимпийский бог превратил Кипариса в одноимённое дерево печали и скорби. Аполлон и Кассандра Ещё одной возлюбленной Аполлона была дочь троянского царя Приама Кассандра. Девушка вначале согласилась отдаться Аполлону, за что и получила от него дар пророчества. После этого она отвергла бога, тем самым обманув его. В отместку он сделал так, что предсказаниям Кассандры никто не верил, тем самым сделав её несчастной. Кассандра видела будущее, но все её предупреждения игнорировали. Аполлон и Коронида Одна из возлюбленных Аполлона Коронида, уже будучи беременной Асклепием, изменила богу со смертным Исхием. Разгневанный бог убил их обоих, после чего достал из чрева Корониды младенца и отдал его на воспитание кентавру Хирону. Отец Корониды Флегий сжёг один из храмов Аполлона, за что был им убит. Марсий и другие соперники Аполлона Марсий подобрал авлос (древнегреческий аналог флейты), который выбросила Афина, и достиг в игре на нём совершенства. После этого он отважился состязаться с самим Аполлоном в мусическом искусстве. Судить музыкантов поручили музам. Вначале они не могли отдать предпочтение ни Аполлону, который играл на кифаре или на лире, ни Марсию или, по другой версии, признали игру пастуха превосходящей таковую бога. Тогда Аполлон предложил дополнить игру пением, чего Марсий со своим духовым инструментом сделать не мог. На возражения соперника Аполлон ответил, что либо каждому из них дозволено использовать руки и рот одновременно, либо пусть в своей игре соперник применяет исключительно руки. Музыка с пением в исполнении Аполлона произвели на муз более сильное впечатление, и они присудили победу именно ему. Рассерженный сложностью победы и близостью к поражению, Аполлон содрал кожу с Марсия, которую подвесил на дерево. Похожую историю приводит Павсаний об убийстве Аполлоном одного из величайших музыкантов Лина, сравнившегося с богом в искусстве пения. Также Аполлон убил Еврита за то, что тот вызвал бога на состязание по стрельбе из лука. Та же судьба постигла и возомнившего себя равным богу в кулачном бою Форбанта. Аполлон и Геракл По одному из мифов, после того, как Геракл убил своих племянников и детей от Мегары вследствие насланного на него Герой безумия, мифологический герой пришёл к святилищу Аполлона в Дельфах. Он попросил совета, как ему очистить себя от совершённого преступления. Аполлон не захотел давать ответ. Пифия Ксеноклея прогнала Геракла. Возмущённый полубог взял треножник, с которого возвещались предсказания, и вынес из храма. Такого святотатства Аполлон допустить не смог и вступил за треножник в бой. Между Аполлоном и Гераклом началась борьба. Зевс разнял противников, бросив между ними молнию. Братья помирились, а Геракл получил предсказание о том, как искупить своё прегрешение. Сцена нашла отображение в убранстве Дельфийского оракула. Группу, где Аполлон и Геракл держатся за треножник, Лето и Артемида успокаивают Аполлона, а Афина — Геракла, создали несколько скульпторов. Ещё раз у Аполлона возник спор с Гераклом и Артемидой относительно того, кто должен обладать городом Амбракия. Судьёй назначили известного своей справедливостью Крагалея. Тот, выслушав доводы сторон, присудил город Гераклу. Возмущённый Аполлон превратил судью за это в камень. Согласно Павсанию Аполлон ревниво относился к славе Геракла, особенно в ситуациях, когда сына смертной ставили выше его самого. Так, по одной из версий, он даже застрелил легендарного спартанского царя Аристодема за то, что тот вместо того, чтобы испросить пророчество у Аполлона, обратился за советом к Гераклу. Аполлон и Троя Среди множества мифов, связанных с Троей, Аполлон занимает если и не центральное, то весьма важное место. Согласно одной из историй об основании города, жители Крита во время голода отправились искать новое место для жизни. Аполлон посоветовал им основать поселение там, где под покровом ночи на них нападут «порождения земли». Когда полчища голодных полевых мышей напали на лагерь критян и перегрызли все кожаные ремни на оружии и утвари, поселенцы решили, что пророчество сбылось. На этом месте основали святилище Аполлону Сминфейскому («Мышиному»), вокруг которого вырос город Сминфий. Потомки сминфейцев впоследствии основали Трою. По обнаружении палладиума — изображения Паллады, сделанного лично Афиной, — Аполлон дал совет охранять артефакт, ибо там, где он хранится, будет высшая власть. Вместе с Посейдоном, приняв вид простого смертного, Аполлон служил Лаомедонту при постройке стен города. Впоследствии, когда царь обманул богов с выплатой положенного им вознаграждения, данный бог наслал на Трою чуму. Аполлона многое связывало с Троей. Согласно мифам Аполлодора царевич Троил был сыном не Приама, а Аполлона. Поддержка главного героя Трои Гектора этим олимпийским богом в послегомеровской традиции стала причиной появления версии о том, что он был сыном Аполлона. На протяжении всей Троянской войны Аполлон помогал осаждённому городу.


В самом её начале он девять дней посылал губительные стрелы на войско греков, вызвав в их стане эпидемию. Он спасает Энея от смертельной опасности во время битвы с Диомедом, отводит выпущенную в Гектора стрелу, сопровождает троянцев и помогает им во время вылазки к греческим кораблям, трижды отбивает атаку Патрокла, а затем вынуждает Гектора вступить в битву. Именно Аполлон руками смертного послал смертоносную стрелу в Ахилла. Эвгемеристические толкования мифов об Аполлоне Эвгемеризм представлял собой доктрину, объяснявшую происхождение богов посмертным обожествлением смертных. Цицерон в трактате «О природе богов» 45 года до н. э. приводит четыре таких толкования, подчёркивая их порочный характер: по одной версии, Аполлон был сыном Вулкана и Минервы и считался хранителем Афин; по другой — сыном критского Корибанта; по третьей — сыном Юпитера и Лето, пришедшим в Дельфы из страны гипербореев; по четвёртой — неким законодателем, давшим жителям Аркадии законы (отчего он получил эпитет Номион () от «номос» — «закон»). Климент Александрийский (150—215) упоминает ещё двух Аполлонов — ливийского, сына Аммона, а также сына Магнета. Сделано это было в контексте обращения к язычникам с целью показать несостоятельность их верований. Календарная мифология Аполлона В Древней Греции единого календаря не существовало. В разных областях они отличались не только собственными названиями месяцев, связанных зачастую со справляемыми в них праздниками, но и представлениями о начале года. Общим было использование лунных месяцев. День начинался с заходом Солнца, месяц вечером того дня, когда всходила новая Луна. Первый день месяца был посвящён Аполлону. Также с ним был связан седьмой день, как и сама цифра 7. Аполлон родился семимесячным на седьмой день месяца, его лира содержала семь струн. Это подчёркивает один из эпитетов этого олимпийского бога Гебдомагет (, «седмичник»). В Аттике год начинался с первого новолуния после летнего солнцестояния. Первый месяц гекатомбеон был посвящён Аполлону как покровителю государства и народа. Название второго месяца связано с праздником Аполлона Соседского (Аполлона Метагейтнийского) . В этот день приносили жертвы богу в память о переселении жителей Мелиты в . Хоть эти области представляют собой разные районы Афин и находятся относительно недалеко друг от друга, факт переселения и праздник символизировали переход граждан Аттики от родовых взаимоотношений к соседским. Третий месяц боэдромион также был связан с Аполлоном. 7 боэдромиона проходил праздник в честь Аполлона Боэдромия (дословно «помогающего в сражении криком»), подчёркивающий его функцию помощника воинам. В четвёртый месяц пианопсион этому богу приносили т. н. иресионы — оливковые и лавровые ветви, обвитые шерстью и обвешанные фруктами, горшочками с мёдом и вином. Они символизировали изобилие и победу над природой. В одиннадцатый месяц таргелион справляли праздник в честь дня рождения Аполлона Таргелии. Таким образом, в аттическом календаре пять месяцев были непосредственно связаны с Аполлоном. В Дельфах существовал свой собственный календарь, все месяцы которого, за исключением трёх зимних, были связаны с Аполлоном. Так, к примеру, во время бисия отмечали победу бога над Пифоном, а в септерион провожали его в страну гипербореев. Образ и имя Аполлона в искусстве Скульптуры и картины В изобразительном искусстве Аполлона представляют в качестве идеала мужской, юношеской красоты. Преимущественно это безбородый юноша, чьи пышные волосы либо ниспадают на плечи, либо связаны узлом. Стройный, с выражением величавости на лице, бог на многих картинах и статуях изображён со своими атрибутами, к которым относятся серебряный лук и золотые стрелы, золотая кифара (отсюда его эпитет Кифаред — «Играющий на кифаре») или лира, эгида, лавровый венок. Иногда, когда он играет на музыкальном инструменте или руководит музами, на нём ниспадающая одежда. Среди сохранившихся до наших дней античных скульптур особо выделяют «Аполлона из Беотии» VIII века до н. э., «» и «Аполлона Птойского» VI века до н. э., «Аполлона из Вей» около 500 года до н. э., «Аполлона из Пьомбино» начала V века до н. э. По римским копиям известны «Аполлон Тибрский» Фидия, «Аполлон, убивающий ящерицу» Праксителя, «Аполлон Кифаред» неизвестного скульптора и другие. Среди множества произведений особняком стоит «Аполлон Кифаред из Помпей». В скульптуре, в отличие от других, представляющих древнегреческого бога в качестве идеала красоты, искусствоведы отмечают вялость форм и припухлость тела в области поясницы, отсутствие чёткой конструктивной основы фигуры. В рельефе западного фронтона храма Зевса в Олимпии статуя Аполлона занимает центральное место. Эпизоды из различных мифов об этом боге нашли отображение в древнегреческой вазописи. В период Средневековья Аполлона изображают в миниатюрах с луком и стрелами, иногда с лирой в сопровождении муз или граций, а также как олицетворение Солнца. В конце XV столетия была обнаружена статуя «Аполлон Бельведерский». Это римская копия с греческого оригинала IV века до н. э., предположительно авторства Леохара, древнегреческого зодчего, вместе со Скопасом работавшего над убранством пятого чуда света мавзолея в Галикарнасе. Всё тело скульптурного Аполлона в движении. За спиной у него предположительно висел колчан для стрел, а в протянутой левой руке находился лук, в опущенной правой — ветвь лавра. Образ бога отличают чрезвычайная элегантность и равновесие между широким обобщением и проработкой мелких деталей. Статую стали воспринимать в качестве совершенного скульптурного творения. «Отец истории искусств» Иоганн Винкельман описывал её «высшим идеалом искусства среди всех произведений древности». Находка «Аполлона Бельведерского» способствовала тому, что наиболее известные художники Ренессанса и Нового времени стали создавать картины с Аполлоном. К наиболее популярным сюжетам следует отнести: «Парнас» (А. Мантенья, Рафаэль Санти, Ф. Приматиччо, Н. Пуссен): фреска «Парнас» принадлежит к всемирно известным станцам Рафаэля. Она помещена в одном из залов Папского дворца в Ватикане рядом с другими фресками, символизирующими философию («Афинская школа»), богословие («Диспута»), мудрость, умеренность и силу («»). «Парнас» аллегорически представляет поэзию и музыку. В центре произведения сидящий Аполлон играет на лире да браччо. Вокруг него расположились девять муз, рядом стоят великие поэты Античности и Ренессанса. Часть из них идентифицирована достоверно, относительно других среди искусствоведов существуют различные мнения; ко всемирно известным произведениям времён Ренессанса относят картину «» А. Мантеньи, которая по состоянию на 2019 год находится в Лувре. В центре изображены Венера со своим любовником Марсом. Вызванный насмешками Купидона из пещеры, обманутый муж Вулкан в ярости смотрит на неверную супругу. В это же время музы под звуки лиры Аполлона ведут свой хоровод. Картина перегружена символами и аллегориями, которые, в частности, несут морализаторский характер, осуждая свободную, плотскую страсть, не внемлющую голосу разума; после работ Рафаэля и Мантеньи элизиум Парнаса начинают помещать не только на стенах, но и на потолках парадных дворцовых залов. К таковым искусствоведы относят росписи на римской вилле папы Юлия и во дворце французских королей Фонтенбло работы Ф. Приматиччо; под влиянием Рафаэля Никола Пуссен нарисовал картину «» или «Парнас», которая ныне экспонируется в Прадо. Одна из муз венчает голову Гомера, склонившегося перед Аполлоном, лавровым венком. В образе древнегреческого поэта изображён друг Пуссена. В центре картины находится нимфа Касталия, которая согласно мифам превратилась в ручей, чтобы избежать преследования бога. Из этого ручья амуры черпают воду, даря через неё вдохновение музам и поэтам. Полотно построено на контрасте ярких и блеклых цветов. «Аполлон и музы» (Л. Лотто, Джулио Романо, Тинторетто, Н. Пуссен, К. Лоррен, А. Р. Менгс и др.): Лоренцо Лотто на своей картине «Аполлон и музы» изобразил сюжет о том, как музы теряют стыд, резвясь в обнажённом виде с незнакомыми мужчинами, в то время как бог-покровитель искусств Аполлон спит. Работа наполнена символами и аллегориями относительно того, что талантам нельзя давать полную свободу, так как они нуждаются в контроле и поддержке; в Палаццо Питти находится картина Джулио Романо, на которой Аполлон танцует в хороводе с музами; на картине «» Н. Пуссена, экспонирующейся в Лувре, Аполлон в сопровождении музы направляет перо поэта, которому Купидон возлагает на голову венок; Тинторетто на картине «Музы» изобразил муз с характерными для каждой из них атрибутами, а Аполлон символически представлен Солнцем; французский живописец Клод Лоррен в 82 года нарисовал картину «Аполлон и музы на горе Геликон». Здесь Аполлон находится в окружении девяти муз. В углу мифологический крылатый конь Пегас ударяет копытом по скале, чтобы освободить источник художественного вдохновения. Манера передачи света, природа, река с лебедями создают именно ту атмосферу возвышенности, которую и предполагает творческое вдохновение, олицетворяемое Аполлоном; на картине А. Р. Менгса 1761 года сюжет «Аполлон и музы» дополнен матерью муз Мнемосиной; этот сюжет не обошли своим вниманием и сюрреалисты. На картине Джорджо де Кирико «» персонажи античной мифологии, которых можно определить на основании соответствующих атрибутов, расположены на фоне современных завода и крепости:221—222. «Аполлон со своей сестрой Артемидой» (А. Дюрер, Л. Кранах Старший и др.): на гравюре Дюрера, которая по состоянию на 2019 год хранится в Британском музее, обнажённый Аполлон держит в левой руке Солнце, а в правой посох. Диана изображена со спины; на картине Лукаса Кранаха Старшего Диана и Аполлон находятся на фоне леса. Немецкий живописец подчёркивает физическую красоту Аполлона, а также тесную связь богов с лесом и охотой. Особенность этой работы заключается в том, что главные герои не имеют явных атрибутов олимпийских богов, а обнажённые персонажи очень похожи на первых людей, Адама и Еву, в Эдемском саду.


Мусагет: «Аполлон Мусагет» — неоклассический балет Игоря Стравинского. Мусагет (в переводе с греческого «Предводитель муз») – одно из имён бога Аполлона Издательство «Мусагет», организованное символистами во главе с Андреем Белым в 1910 году и просуществовавшее до 1917 года Общественный благотворительный фонд развития культуры и гуманитарных наук «Мусагет» в Алма-Ате, Казахстан


Му́зы (, мн.ч. — «мыслящие») — богини в древнегреческой мифологии, дочери бога Зевса и титаниды Мнемосины, либо дочери богини Гармонии, покровительницы искусств и наук. Обитали на Парнасе. Кроме того, обителью муз считалась гора Геликон в Беотии, где били священные ключи, источники вдохновения — Аганиппа и Гиппокрена. От муз происходит слово «музыка» (греч. прилагательное , подразумевается или ), первоначально обозначавшее не только музыку в нынешнем смысле, но любое искусство или науку, связанные с деятельностью муз. Музам посвящались храмы, которые назывались мусейонами (от этого слова и произошёл «музей»). Одно из первых упоминаний муз в большой литературе находится в «Илиаде» и «Одиссее» (XXIV: 60). Девять покровительниц-муз Эпитеты муз Аониды. Топоним, указывающий на беотийское происхождение муз (трёх: Аэды — музы вокальной музыки, Мелеты — музы образования и обучения и Мнемы — музы воспоминаний; или четырёх: Аэды, Мелеты, Телксинои и Архе). Пиэриды, Пиериды. По одной версии, топоним, от местечка Пиерия вблизи Олимпа, где музам впервые начали поклоняться фракийцы. По другой версии, эпитет происходит от имени легендарного царя Пиера, фракийца, поселившегося в Беотии и установившего культ муз в Феспиях (город не сохранился). Эагри́ды (). Эпитет, указывающий на их связь с фракийским царём Эагром. Последний, по одной из версий, был супругом Каллиопы и отцом Орфея и Лина. У латинских поэтов прилагательное «эагрийский» (Oeāgrius) — это и орфический и фракийский. Они странствовали вместе с Дионисом. Пермесские сестры. См. Вергилий. Буколики VI 64 (река Пермес) Илисиады. По жертвеннику на берегу Илиса. Пимплеиды. Мнемониды — музы, по имени их матери Мнемосины. Старшие музы Иногда говорят, что муз было три (таково мнение Эфора). Алкман называет муз дочерьми Урана и Геи. Согласно Мимнерму, дочери Урана и Геи. Мнасей из Патр также указывал, что музы были дочерьми Урана и Геи, и их было четыре. Согласно Марку Туллию Цицерону, отцом старших муз (первое поколение муз) являлся Юпитер второй — сын Неба и отец Минервы. Второе поколение из девяти муз произошло, по Цицерону, от Юпитера третьего и Мнемозины, а третье (пиериды или пиерии) — тоже девять муз с теми же именами — родились от Пиерона и Антиопы. Согласно же Варрону и Авсонию, жители Киферона наняли трёх мастеров и поручили каждому сделать медные статуи трёх муз, чтобы потом выбрать из них лучшие три и поместить в храм Аполлона. Однако все статуи оказались настолько прекрасны, что жители не смогли выбрать лучшие. В итоге были куплены и освящены в храме все девять, а поэт Гесиод позже дал им новые имена. Музы Алоадов Согласно Павсанию, старшие музы: Мелета, Мнема и Аэда, поклонение которым установили Алоады. У Аполлодора нет старших муз. Аэда («Песнь»). Одна из старших муз; Мелета («Опытность»). Старшая муза; Мнема («Память»). Старшая муза, упомянута у Орфея. Дельфийская версия По изложению у Плутарха представлений жителей Дельф, три музы связаны с тремя частями космоса, которые находятся в гармоничном соотношении между собой. Назывались именами (струнами) Полной системы (полного звукоряда) греков: («Верхняя», то есть верхняя струна, чей звук был самый низкий), покровительствует сфере неподвижных звёзд (звёздного неба). («Средняя»), покровительствует сфере планет. («Крайняя», самый высокий звук), покровительствует подлунному миру. Дочери Аполлона По Евмелу Коринфскому, дочери Аполлона: Кефисо, Аполлонида и Борисфенида. Либо старшие музы — дочери Зевса второго: Телксиопа, Аэда, Арха, Мелета. О старших музах, рождённых от Крона, говорит Мусей. Списки муз по другим вариантам Согласно Кратету, муз было восемь, по Миртилу из Мефимны — семь либо девять (см. Мифы островов Эгейского моря, про Мегакло). Согласно Цецу Цец называет девять муз: Терпсихора и Эвтерпа совпадают с Гесиодом, а ещё семь носили имена Гелика, Дия, Евника, Каллихора, Фелксиноя, Энкелада, Энопа. Именем Фелксинои назван XLII спутник Юпитера. Согласно Эпихарму Согласно Эпихарму, их было семь, и звали их Нейло (Нило), Тритона, Асопо, Гептапора, Ахелоида, Типопло и Родия. Это дочери Пиера. Девять Пиерид Девять дочерей Пиера состязались с музами, проиграли и были превращены в птиц. Этот миф объяснял происхождение синонима слова «Музы» — Пиериды. От этого слова происходит название рода красивоцветущих кустарников из семейства Вересковые. Другие имена муз Гимно По надписям на вазах. Каллихора По надписям на вазах. Полиматия Так сикионцы называют одну из трех муз. Стесихора По надписям на вазах. Хоро (или Хороника). По надписям на вазах. Музы в литературе Им посвящены XXV гимн Гомера и LXXVI орфический гимн. Им посвящена пьеса Софокла «Музы» (не дошло ни одной строки). «Гимн Музе» написал Месомед Критский (сохранились его ноты). В России XVIII в. популярностью пользовалось стихотворение о музах В. К. Тредиаковского «Парнас. Феб. Музы», латинский оригинал которого ошибочно приписывался Авсонию: Клиа точны бытия В память предает, поя. Мелпомена восклицает И в трагедии рыдает. Талиа, да будет прав, Осмехает в людях нрав. Пажить, равно жатву серпа Во свирель гласит Эвтперпа. Гуслей Терпсихора звук Соглашает разный вдруг. Эрата смычком, ногами Скачет, также и стихами. Урания звезд предел Знает свойство и раздел. Каллиопа всех трубою Чтит героев всезлатою. Упражняясь наконец В преклонении сердец, Полигимниа нарядно И вещает все изрядно. Движет превыспренний ум Муз сих, купно оных шум: Посредине Феб сам внемлет, А собою все объемлет. В астрономии В честь муз назван астероид (600) Муза, открытый в 1906 году. См. также Евфема — Кормилица Муз. Кротос Примечания Ссылки Энциклопедия античной мифологии: Музы Древнегреческие богини Боги по алфавиту


Исхо́дный код (также исхо́дный текст) — текст компьютерной программы на каком-либо языке программирования или языке разметки, который может быть прочтён человеком. В обобщённом смысле — любые входные данные для транслятора. Исходный код транслируется в исполняемый код целиком до запуска программы при помощи компилятора или может исполняться сразу при помощи интерпретатора. Назначение Исходный код либо используется для получения объектного кода, либо сразу выполняется интерпретатором. Другое важное назначение исходного кода — описание программы. По тексту программы можно восстановить логику её поведения. Для облегчения понимания исходного кода используются комментарии. Существуют также инструментальные средства, позволяющие автоматически получать документацию по исходному коду — генераторы документации. Кроме того, исходный код имеет и другие применения. Он может использоваться как инструмент обучения; начинающим программистам бывает полезно исследовать существующий исходный код для изучения технологии и методологии программирования. Он также используется как инструмент общения между опытными программистами благодаря своей лаконичной и недвусмысленной природе. Совместное использование кода разработчиками часто упоминается как фактор, способствующий улучшению опыта программистов. Программисты часто переносят исходный код (в виде модулей, в имеющемся виде или с адаптацией) из одного проекта в другой. Это называется повторным использованием кода. Исходный код — важнейший компонент для процесса портирования программного обеспечения на другие платформы. Без исходного кода какой-либо части ПО портирование либо слишком сложно, либо вообще невозможно. Организация Исходный код некоторой части ПО (модуля, компонента) может состоять из одного или нескольких файлов. Код программы не обязательно пишется только на одном языке программирования. Например, часто программы, написанные на языке Си, из соображений оптимизации содержат вставки кода на языке ассемблера. Также возможны ситуации, когда некоторые компоненты или части программы пишутся на различных языках, с последующей сборкой в единый исполняемый модуль при помощи технологии, известной как компоновка библиотек (library linking). Сложное программное обеспечение при сборке требует использования десятков или даже сотен файлов с исходным кодом. В таких случаях для упрощения сборки обычно используются файлы проектов, содержащие описание зависимостей между файлами с исходным кодом и описывающие процесс сборки. Эти файлы также могут содержать параметры для компилятора и среды проектирования. Для разных сред проектирования могут применяться разные файлы проекта, причём в некоторых средах эти файлы могут быть в текстовом формате, пригодном для непосредственного редактирования программистом с помощью универсальных текстовых редакторов, в других средах поддерживаются специальные форматы, а создание и изменения файлов производится с помощью специальных инструментальных программ. Файлы проектов обычно включают в понятие «исходный код». Часто под исходным кодом подразумевают и файлы ресурсов, содержащие различные данные, например, графические изображения, нужные для сборки программы. Для облегчения работы с исходным кодом и для совместной работы над кодом командой программистов используются системы управления версиями. Качество В отличие от человека, для компьютера нет «хорошо написанного» или «плохо написанного» кода. Но то, как написан код, может сильно влиять на процесс сопровождения ПО. О качестве исходного кода можно судить по следующим параметрам: читаемость кода (в том числе наличие комментариев к коду); лёгкость в поддержке, тестировании, отладке и устранении ошибок, модификации и портировании; экономное использование ресурсов: памяти, процессора, дискового пространства; отсутствие замечаний, выводимых компилятором; отсутствие «мусора» — неиспользуемых переменных, недостижимых блоков кода, ненужных устаревших комментариев и т. д.; адекватная обработка ошибок; возможность интернационализации интерфейса. Неисполняемый исходный код Копилефтные лицензии для свободного ПО требуют распространения исходного кода. Эти лицензии часто используются также для работ, не являющихся программами — например, документации, изображений, файлов данных для компьютерных игр. В таких случаях исходным кодом считается форма данной работы, предпочтительная для её редактирования. В лицензиях, предназначенных не только для ПО, она также может называться версией в «прозрачном формате». Это может быть, например: для файла, сжатого с потерей данных — версия без потерь; для рендера векторного изображения или трёхмерной модели — соответственно, векторная версия и модель; для изображения текста — такой же текст в текстовом формате; для музыки — файл во внутреннем формате музыкального редактора; и наконец, сам файл, если он удовлетворяет указанным условиям, либо если более удобной версии просто не существовало. См. также Рефакторинг Стандарт оформления кода Свободное программное обеспечение Эзотерические языки программирования Лицензия на программное обеспечение Hello, world! Ссылки Исходный код программы Source Code Definition Исходный код


Унарная операция (одноместная операция) — математическая операция над одним операндом и возвращающая один результат, то есть операция с единственным входом и единственным выходом — унарное отображение . Унарную операцию принято обозначать знаком действия, который ставится перед или над операндом — префиксом (в отличие от бинарных операций, для которых чаще используется инфиксная запись). Например, для унарной операции изменения знака числа «–» результат её применения к элементу записывается в виде . Унарная операция, обратная сама себе, называется инволюцией. Примеры унарных операций: комплексное сопряжение, преобразование подобия, отражение фигуры относительно заданной оси, инверсия, логическое отрицание, дополнение множества. Примечания Арность Математические операции


Си (от лат. буквы C, англ. языка) — компилируемый статически типизированный язык программирования общего назначения, разработанный в 1969—1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка Би. Первоначально был разработан для реализации операционной системы UNIX, но впоследствии был перенесён на множество других платформ. Согласно дизайну языка, его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашёл применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном программном обеспечении для множества устройств — от суперкомпьютеров до встраиваемых систем. Язык программирования Си оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective-C. История Язык программирования Си разрабатывался в период с 1969 по 1973 годы в лабораториях Bell Labs, и к 1973 году на этот язык была переписана большая часть ядра UNIX, первоначально написанного на ассемблере PDP-11/20. Название языка стало логическим продолжением старого языка «Би», многие особенности которого были положены в основу. По мере развития язык сначала стандартизировали как ANSI C, а затем этот стандарт был принят комитетом по международной стандартизации ISO как ISO C, ставший также известным под названием C90. В стандарте С99 язык получил новые возможности, такие как массивы переменной длины и встраиваемые функции. А в стандарте C11 в язык добавили реализацию потоков и поддержку атомарных типов. Однако с тех пор язык развивается медленно, и в стандарт C18 попали лишь исправления ошибок стандарта C11. Общие сведения Язык Си разрабатывался как язык системного программирования, для которого можно создать однопроходный компилятор. Стандартная библиотека также невелика. Как следствие данных факторов — компиляторы разрабатываются сравнительно легко. Поэтому данный язык доступен на самых различных платформах. К тому же, несмотря на свою низкоуровневую природу, язык ориентирован на переносимость. Программы, соответствующие стандарту языка, могут компилироваться под различные архитектуры компьютеров. Целью языка было облегчение написания больших программ с минимизацией ошибок по сравнению с ассемблером, следуя принципам процедурного программирования, но избегая всего, что может привести к дополнительным накладным расходам, специфичным для языков высокого уровня. Основные особенности Си: простая языковая база, из которой в стандартную библиотеку вынесены многие существенные возможности, вроде математических функций или функций работы с файлами; ориентация на процедурное программирование; система типов, предохраняющая от бессмысленных операций; использование препроцессора для абстрагирования однотипных операций; доступ к памяти через использование указателей; небольшое число ключевых слов; передача параметров в функцию по значению, а не по ссылке (передача по ссылке эмулируется с помощью указателей); наличие указателей на функции и статические переменные; области видимости имён; структуры и объединения — определяемые пользователем собирательные типы данных, которыми можно манипулировать как одним целым. В то же время в Си отсутствуют: вложенные функции; прямое возвращение нескольких значений из функций; сопрограммы; средства автоматического управления памятью; встроенные средства объектно-ориентированного программирования; средства функционального программирования. Часть отсутствующих возможностей может имитироваться встроенными средствами (например, сопрограммы можно имитировать с помощью функций setjmp и longjmp), часть добавляется с помощью сторонних библиотек (например, для поддержки многозадачности и для сетевых функций можно использовать библиотеки pthreads, sockets и тому подобные; существуют библиотеки для поддержки автоматической сборки мусора), часть реализуется в некоторых компиляторах в виде расширений языка (например, вложенные функции в GCC). Существует несколько громоздкая, но вполне работоспособная методика, позволяющая реализовывать на Си механизмы ООП, базирующаяся на фактической полиморфности указателей в Си и поддержке в этом языке указателей на функции. Механизмы ООП, основанные на данной модели, реализованы в библиотеке GLib и активно используются во фреймворке GTK+. GLib предоставляет базовый класс GObject, возможности наследования от одного класса и реализации множества интерфейсов. После появления язык был хорошо принят, потому что он позволял быстро создавать компиляторы для новых платформ, а также позволял программистам довольно точно представлять, как выполняются их программы. Благодаря близости к языкам низкого уровня программы на Си работали эффективнее написанных на многих других языках высокого уровня, и лишь оптимизированный вручную код на ассемблере мог работать ещё быстрее, потому что давал полный контроль над машиной. На сегодняшний день развитие компиляторов и усложнение процессоров привело к тому, что вручную написанный ассемблерный код (кроме разве что очень коротких программ) практически не выигрывает по сравнению с кодом, генерируемым компиляторами, при этом Си продолжает оставаться одним из наиболее эффективных языков высокого уровня. Синтаксис и семантика Синтаксис языка Си достаточно сложный, а семантика неоднозначная. Основными двумя особенностями языка на момент его появления были унифицирование работы с массивами и указателями, а также схожесть того, как что-либо объявляется, с тем, как это в дальнейшем используется в выражениях. Однако в последующем эти две особенности языка были в числе наиболее критикуемых, и обе являются сложными для понимания среди начинающих программистов. Стандарт языка, определяя его семантику, не стал слишком сильно ограничивать реализации языка компиляторами, но этим самым сделал семантику недостаточно определённой. В частности, в стандарте есть 3 типа недостаточно определённой семантики: определяемое реализацией поведение, не заданное стандартом поведение и неопределённое поведение. Типы данных Примитивные типы Целые числа Размер целочисленных типов данных варьируется от не менее 8 до не менее 32 бит. Стандарт C99 увеличивает максимальный размер целого числа — не менее 64 бит. Целочисленные типы данных используются для хранения целых чисел (тип char также используется для хранения ASCII-символов). Все размеры диапазонов представленных ниже типов данных минимальны и на отдельно взятой платформе могут быть больше. Как следствие минимальных размеров типов стандарт требует, чтобы для размеров целочисленных типов выполнялось условие: 1 = sizeof(char) ≤ sizeof(short) ≤ sizeof(int) ≤ sizeof(long) ≤ sizeof(long long). Таким образом, размеры некоторых типов по количеству байт могут совпадать, если будет удовлетворяться условие по минимальному количеству бит. Даже char и long могут иметь одинаковый размер, если один байт будет занимать 32 бита или более, но такие платформы будут очень редки или не будут существовать. Стандарт гарантирует, что тип char всегда равен 1 байту. Размер байта в битах определяется константой CHAR_BIT из заголовочного файла limits.h, у POSIX-совместимых систем равен 8 битам. Минимальный диапазон значений целых типов по стандарту определяется с -(2N-1-1) по 2N-1-1 для знаковых типов и с 0 по 2N-1 — для беззнаковых, где N — разрядность типа. Реализация компиляторов может расширять этот диапазон по своему усмотрению. На практике для знаковых типов чаще используется диапазон с -2N-1 по 2N-1-1. Минимальное и максимальное значения каждого типа указывается в файле limits.h в виде макроопределений. Отдельное внимание стоит уделить типу char. Формально это отдельный тип, но фактически char эквивалентен либо signed char, либо unsigned char, в зависимости от компилятора. Для того, чтобы избежать путаницы между размерами типов стандарт C99 ввел новые типы данных, описанные в файле stdint.h. Среди них такие типы как: intN_t, int_leastN_t, int_fastN_t, где N = 8, 16, 32 или 64. Приставка least- обозначает минимальный тип, способный вместить N бит, приставка fast- обозначает тип размером не менее 16 бит, работа с которым наиболее быстрая на данной платформе. Типы без приставок обозначают типы с фиксированном размером, равным N бит. Типы с приставками least- и fast- можно считать заменой типам int, short, long, с той лишь разницей, что первые дают программисту выбрать между скоростью и размером. Вспомогательные целочисленные типы Также со стандарта C99 добавлены типы intmax_t и uintmax_t, соответствующие самым большим знаковому и беззнаковому типам соответственно. Данные типы удобны при использовании в макросах для хранения промежуточных или временных значений при операциях над целочисленными аргументами, так как позволяют уместить значения любого типа. Например, эти типы используются в макросах сравнения целочисленных значений библиотеки модульного тестирования Check для языка Си. В Си существует несколько дополнительных целочисленных типов для безопасной работы с типом данных указателей: intptr_t, uintptr_t и ptrdiff_t. Типы intptr_t и uintptr_t из стандарта C99 предназначены для хранения соответственно знакового и беззнакового значений, которые по размеру могут уместить в себе указатель. Эти типы часто применяются для хранения произвольного целого числа в указателе, например, как способ избавиться от лишнего выделения памяти при регистрации функций обратной связи либо при использовании сторонних связных списков, ассоциативных массивов и прочих структур, в которых данные хранятся по указателю. Тип ptrdiff_t из заголовочного файла stddef.h предназначен для безопасного хранения разности двух указателей. Для хранения размера предусмотрен беззнаковый тип size_t из заголовочного файла stddef.h. Данный тип способен уместить максимально возможное количество байт, доступное по указателю, и обычно используется для хранения размера в байтах. Значение именно этого типа возвращает оператор sizeof.


Приведение целочисленных типов Преобразования целочисленных типов могут происходить как явно, с помощью оператора приведения типов, так и неявно. Значения типов, меньших по размеру, чем int, при участии в каких-либо операциях или при передаче в вызов функции автоматически приводятся к типу int, а в случае невозможности преобразования — к типу unsigned int. Зачастую подобные неявные приведения необходимы, чтобы результат вычисления оказался правильным, но иногда приводят к интуитивно-непонятным ошибкам в вычислениях. Например, если в операции участвуют числа типа int и unsigned int, а знаковое значение отрицательно, то преобразование отрицательного числа к беззнаковому типу приведёт к переполнению и возникновению очень большого положительного значения, что может привести к неверному результату операций сравнения. Также автоматическое приведение типов сработает, если в выражении используется два или более разных целочисленных типа. Стандарт определяет ряд правил, согласно которым выбирается такое преобразование типов, которое может дать правильный результат вычислений. Разным типам назначены разные ранги в рамках преобразования, а сами ранги основаны на размере типа. При участии в выражении разных типов обычно выбирается приведение этих значений к типу большего ранга. Вещественные числа Числа с плавающей запятой в языке Си представлены тремя основными типами: float, double и long double. Вещественные числа имеют представление, сильно отличающее их от целых. Константы вещественных чисел разных типов, записанные в десятичном представлении, могут быть не равны друг другу. Например, условие 0.1 == 0.1f будет ложным из-за потери точности у типа float, в то время как условие 0.5 == 0.5f будет истинным, поскольку эти числа конечны в двоичном представлении. Однако условие с приведением (float) 0.1 == 0.1f также будет истинным, поскольку при приведении типа к менее точному теряются разряды, из-за которых в этих двух константах есть различия. Арифметические операции с вещественными числами также являются неточными и зачастую имеют некоторую плавающую погрешность. Наибольшая погрешность будет возникать при операциях над значениями, близкими к минимально возможному для конкретного типа. Также погрешность может оказаться большой при вычислениях над одновременно очень маленькими (≪ 1) и очень большими по модулю числами (≫ 1). В ряде случаев погрешность может быть снижена изменением алгоритмов и методик вычислений. Например, при замене многократного сложения умножением погрешность может снизиться во столько раз, сколько изначально было операций сложения. Также в заголовочном файле math.h присутствуют два дополнительных типа float_t и double_t, которые соответствуют как минимум типам float и double соответственно, но могут быть отличными от них. Типы float_t и double_t добавлены в стандарте C99, а их соответствие основным типам определяется значением макроса FLT_EVAL_METHOD. Строки Нуль-терминированные строки Хотя как такового специального типа для строк в Си не предусмотрено, в языке активно используются нуль-терминированные строки. ASCII-строки объявляются как массив типа char, последним элементом которого должен быть символ с кодом 0 ('\0'). В этом же формате принято хранить и строки в формате UTF-8. Однако все функции, работающие с ASCII-строками, рассматривают каждый символ как байт, что ограничивает применение стандартных функций при использовании данной кодировки. Несмотря на широкое распространение идеи нуль-терминированных строк и удобство их использования в некоторых алгоритмах, у них есть несколько серьёзных недостатков. Необходимость добавления в конец строки терминального символа не даёт возможность получить подстроку без необходимости её копирования, а функций для работы с указателем на подстроку и её длиной в языке не предусмотрено. Если требуется заранее выделять память под результат алгоритма на основе входных данных, каждый раз требуется обходить всю строку для подсчёта её длины. При работе с большими объёмами текста подсчёт длины может оказаться узким местом. Работа со строкой, которая по ошибке не терминирована нулём, может приводить к неопределённому поведению программы, в том числе к ошибкам сегментирования, ошибкам переполнения буфера и к уязвимостям. В современных условиях, когда производительность кода приоритетнее расхода памяти, может оказаться эффективнее и проще использовать структуры, содержащие в себе как саму строку, так и её размер, например: struct string_t { char *str; // указатель на строку size_t str_size; // размер строки }; typedef struct string_t string_t; // альтернативное имя для упрощения кода Альтернативным вариантом хранения размера строки с низким потреблением памяти может оказаться подход добавления в начало строки её размера в формате . Подобный подход применяется в протокольных буферах, однако только на этапе передачи данных, но не их хранения. Строковые литералы Строковые литералы в Си по своей сути являются константами. При объявлении заключаются в двойные кавычки, а терминирующий 0 добавляются компилятором автоматически. Допускается два способа присваивания строкового литерала: по указателю и по значению. При присваивании по указателю в переменную типа char * заносится указатель на неизменяемую строку, то есть формируется константная строка. Если же заносить строковый литерал в массив, то происходит копирование строки в область стека. #include <stdio.h> #include <string.h> int main(void) { const char *s1 = "Константная строка"; char s2[] = "Строка, которую можно менять"; memcpy(s2, "с", strlen("с")); // замена первой буквы на маленькую puts(s2); // выведется текст строки memcpy((char *) s1, "к", strlen("к")); // ошибка сегментирования puts(s1); // строка не будет исполнена }Поскольку строки являются обычными массивами символов, вместо литералов можно использовать инициализаторы, если каждый символ умещается в 1 байт:char s[] = {'I', 'n', 'i', 't', 'i', 'a', 'l', 'i', 'z', 'e', 'r', '\0'}; Однако на практике такой подход имеет смысл только в крайне редких случаях, когда к ASCII-строке требуется не добавлять терминирующий ноль. Широкие строки Альтернативой обычным строкам могут служить широкие строки, в которых каждый символ хранится в специальном типе wchar_t. Данный тип по стандарту должен быть способен уместить в себе все символы самой большой из существующих локалей. Функции для работы с широкими строками описаны в заголовочном файле wchar.h, а функции для работы с широкими символами описаны в заголовочном файле wctype.h. При объявлении строковых литералов для широких строк используется модификатор L: const wchar_t *wide_str = L"Широкая строка"; В форматированном выводе используется спецификатор %ls, однако спецификатор размера, если задан, указывается в байтах, а не в символах. Тип wchar_t задумывался для того, чтобы в него мог поместиться любой символ, а широкие строки — для хранения строк любой локали, но в результате API оказался неудобным, а реализации — платформозависимыми. Так, на платформе Windows в качестве размера типа wchar_t было выбрано 16 бит, а позже появился стандарт UTF-32, таким образом тип wchar_t на платформе Windows уже не способен уместить в себе все символы из кодировки UTF-32, в результате чего теряется смысл данного типа. В то же время на платформах Linux и macOS данный тип занимает 32 бита, поэтому для реализации кроссплатформенных задач тип wchar_t не подходит. Многобайтовые строки Существует много разных кодировок, в которых отдельный символ может быть запрограммирован разным количеством байт. Такие кодировки называются многобайтовыми. К ним относится также и UTF-8. В Си существует набор функций для преобразования строк из многобайтовых в рамках текущей локали в широкие и наоборот. Функции для работы с многобайтовыми символами имеют префикс либо суффикс mb и описаны в заголовочном файле stdlib.h. Для поддержки многобайтовых строк в программах на языке Си, такие строки должны поддерживаться на уровне текущей локали. Для явного задания кодировки можно менять текущую локаль с помощью функции setlocale() из заголовочного файла locale.h. Однако задание кодировки для локали должно поддерживаться используемой стандартной библиотекой. Так, например, стандартная библиотека Glibc полностью поддерживает кодировку UTF-8 и способна преобразовывать текст во множество других кодировок. Начиная со стандарта C11 язык поддерживает также 16-битные и 32-битные широкие многобайтовые строки с соответствующими типами символа char16_t и char32_t из заголовочного файла uchar.h, а также объявление строковых литералов в формате UTF-8 с помощью модификатора u8. 16-битные и 32-битные строки могут использоваться для хранения кодировок UTF-16 и UTF-32, если в заголовочном файле uchar.h заданы макроопределения __STDC_UTF_16__ и __STDC_UTF_32__, соответственно. Для задания строковых литералов в данных форматах используются модификаторы: u для 16-битных строк и U для 32-битных строк. Примеры объявления строковых литералов для многобайтовых строк: const char *s8 = u8"Многобайтовая строка в кодировке UTF-8"; const char16_t *s16 = u"16-битная многобайтовая строка"; const char32_t *s32 = U"32-битная многобайтовая строка"; Следует иметь в виду, что функция c16rtomb() для преобразования из 16-битной строки в многобайтовую работает не так, как задумывалось, и в стандарте C11 оказалась неспособной переводить из UTF-16 в UTF-8. Исправление работы данной функции может зависеть от конкретной реализации компилятора. Пользовательские типы Перечисления Перечисления представляют собой набор именованных целочисленных констант и обозначаются с помощью ключевого слова enum. Если константе не сопоставлено число, то ей автоматически задаётся либо 0 для первой константы в списке, либо число на единицу бо́льшее, чем задано в предыдущей константе. При этом сам тип данных перечисления по факту может соответствовать любому знаковому или беззнаковому примитивному типу, в диапазон которого умещаются все значения перечислений; решение о выборе того или иного типа принимает компилятор.


Однако явно заданные значения для констант должны быть выражениями типа int. Тип перечисления может быть также анонимным, если не указано название перечисления. Константы, указанные в двух разных перечислениях, относятся к двум разным типам данных, независимо от того, являются ли перечисления именованными или анонимными. На практике перечисления часто используются для обозначения состояний конечных автоматов, для задания вариантов режимов работы или значений параметров, для создания целочисленных констант, а также для перечисления каких-либо уникальных объектов или свойств. Структуры Структуры представляют собой объединение переменных разных типов данных в рамках одной области памяти; обозначаются ключевым словом struct. Переменные внутри структуры называются полями структуры. С точки зрения адресного пространства поля всегда идут друг за другом в том же порядке, в котором указаны, но компиляторы могут выравнивать адреса полей для оптимизации под ту или иную архитектуру. Таким образом, фактически поле может занимать бо́льший размер, чем указано в программе. Каждое поле имеет определённое смещение относительно адреса структуры и размер. Смещение можно получить с помощью макроса offsetof() из заголовочного файла stddef.h. При этом смещение будет зависеть от выравнивания и размера предыдущих полей. Размер поля обычно определяется выравниванием структуры: если размер выравнивания типа данных поля меньше значения выравнивания структуры, то размер поля определяется выравниванием структуры. Выравнивание типов данных можно получить с помощью макроса alignof() из заголовочного файла stdalign.h. Размер самой структуры является совокупным размером всех её полей с учётом выравнивания. При этом некоторые компиляторы предоставляют специальные атрибуты, позволяющие упаковывать структуры, убирая из них выравнивания. Полям структур можно явно задавать размер в битах через двоеточие после определения поля и указание количества бит, что ограничивает диапазон их возможных значений, несмотря на тип поля. Подобный подход может использоваться как альтернатива флагам и битовым маскам для обращения к ним. Однако указание количества бит не отменяет возможного выравнивания полей структур в памяти. Работа с битовыми полями имеет ряд ограничений: к ним невозможно применить оператор sizeof или макрос alignof(), на них невозможно получить указатель. Объединения Объединения необходимы в тех случаях, когда требуется обращаться к одной и той же переменной как к разным типам данных; обозначаются ключевым словом union. Внутри объединения может быть объявлено произвольное количество пересекающихся полей, которые по факту предоставляют доступ к одной и той же области памяти как к разным типам данных. Размер объединения выбирается компилятором исходя из размера самого большого поля в объединении. Следует иметь в виду, что изменение одного поля объединения приводит к изменению и всех других полей, но гарантированно правильным будет только значение того поля, которое менялось. Объединения могут служить более удобной альтернативной приведению указателя к произвольному типу. К примеру, с помощью объединения, помещённого в структуру, можно создавать объекты с динамически меняющимся типом данных: #include <stddef.h> enum value_type_t { VALUE_TYPE_LONG, // целое число VALUE_TYPE_DOUBLE, // вещественное число VALUE_TYPE_STRING, // строка VALUE_TYPE_BINARY, // произвольные данные }; struct binary_t { void *data; // указатель на данные size_t data_size; // размер данных }; struct string_t { char *str; // указатель на строку size_t str_size; // размер строки }; union value_contents_t { long as_long; // значение как целое число double as_double; // значение как вещественное число struct string_t as_string; // значение как строка struct binary_t as_binary; // значение как произвольные данные }; struct value_t { enum value_type_t type; // тип значения union value_contents_t contents; // содержимое значения }; Массивы Массивы в языке Си примитивны и являются лишь синтаксическим абстрагированием над арифметикой указателей. Сам по себе массив является указателем на область памяти, поэтому вся информация о размерности массива и его границах может быть доступна только на этапе компиляции согласно описанию типа. Массивы могут быть как одномерными, так и многомерными, но обращение к элементу массива сводится к простому вычислению смещения относительно адреса начала массива. Поскольку массивы основаны на адресной арифметике, с ними возможно работать без использования индексов. Так, например, следующие два примера считывания с потока ввода 10 чисел идентичны друг другу: Длина массивов с заранее известным размером вычисляется на этапе компиляции. В стандарте C99 появилась возможность объявлять массивы переменной длины, у которых длина может задаваться на этапе выполнения. Под такие массивы выделяется память из области стека, поэтому их необходимо использовать с осторожностью, если их размер может задаваться извне программы. В отличие от выделения динамической памяти, превышение допустимого размера в области стека может повлечь непредсказуемые последствия, а отрицательная длина массива — неопределённое поведение. Начиная с C11 массивы переменной длины являются опциональными для компиляторов, а отсутствие поддержки определяется наличием макроса __STDC_NO_VLA__. Массивы фиксированного размера, объявляемые как локальные или глобальные переменные, можно инициализировать, задавая им начальное значение с помощью фигурных скобок и перечисления элементов массива через запятую. В инициализаторах глобальных массивов допускается использовать только такие выражения, которые вычисляются на этапе компиляции. Переменные, используемые в таких выражениях должны объявляться как константы, с модификатором const. У локальных массивов инициализаторы могут содержать выражения с вызовами функций и использованием других переменных, в том числе можно заносить указатель на сам объявляемый массив. Со стандарта C99 последним элементом структур допускается объявлять массив произвольной длины, что широко используется на практике и поддерживается различными компиляторами. Размер такого массива зависит от объёма памяти, выделяемого под структуру. При этом нельзя объявлять массив таких структур и нельзя их помещать в другие структуры. В операциях над такой структурой массив произвольной длины обычно игнорируется, в том числе и при вычислении размера структуры, а выход за пределы массива влечёт за собой неопределённое поведение. Язык Си не предусматривает какого-либо контроля выхода за пределы массива, поэтому программист сам должен следить за работой с массивами. Ошибки при обработке массивов не всегда явно влияют на ход исполнения программы, но могут приводить к ошибкам сегментирования и уязвимостям. Синонимы типов Язык Си допускает создание собственных названий типов с помощью оператора typedef. Альтернативные названия можно задавать как системным типам, так и пользовательским. Такие названия объявляются в глобальном пространстве имён и не конфликтуют с названиями типов структур, перечислений и объединений. Альтернативные названия могут применяться как для упрощения кода, так и для создания уровней абстракции. Например, некоторые системные типы можно сократить для повышения читабельности кода или унифицирования его написания в пользовательском коде:#include <stdint.h> typedef int32_t i32_t; typedef int_fast32_t i32fast_t; typedef int_least32_t i32least_t; typedef uint32_t u32_t; typedef uint_fast32_t u32fast_t; typedef uint_least32_t u32least_t;Примером абстрагирования могут служить названия типов в заголовочных файлах операционных системах. Так, стандарт POSIX определяет тип pid_t, предназначенный для хранения числового идентификатора процесса. На самом деле данный тип является альтернативным названием для какого-либо примитивного типа, например:typedef int __kernel_pid_t; typedef __kernel_pid_t __pid_t typedef __pid_t pid_t;Поскольку типы с альтернативными названиями являются лишь синонимами оригинальным типам, то между ними сохраняется полная совместимость и взаимозаменяемость. Препроцессор Препроцессор работает до компиляции и преобразует текст файла программы согласно встреченным в нём или переданным в препроцессор директивам. Технически препроцессор может быть реализован по-разному, но логически его удобно представлять именно как отдельный модуль, целиком обрабатывающий каждый предназначенный для компиляции файл и формирующий текст, попадающий затем на вход компилятора. Препроцессор ищет в тексте строки, начинающиеся с символа #, вслед за которым должны следовать директивы препроцессора. Всё, что не относится к директивам препроцессора и не исключено из компиляции согласно директивам, передаётся на вход компилятора в неизменном виде. В число возможностей препроцессора входит: подмена заданной лексемы текстом с помощью директивы #define, включая возможность создания параметризованных шаблонов текста (вызываются аналогично функциям), а также отменять подобные подмены, что даёт возможность осуществлять подмену на ограниченных участках текста программы; условное встраивание и удаление кусков из текста, включая сами директивы, с помощью условных команд #ifdef, #ifndef, #if, #else и #endif; встраивание в текущий файл текста из другого файла с помощью директивы #include. Важно понимать, что препроцессор обеспечивает только подстановку текста, не учитывая синтаксис и семантику языка. Так, например, макроопределения #define могут встречаться внутри функций или определений типов, а директивы условной компиляции могут приводить к исключению из компилируемого текста программы любой части кода, без оглядки на грамматику языка. Вызов параметрического макроса также отличается от вызова функции, поскольку не происходит анализа семантики аргументов, разделяемых запятой.